drm/amdgpu: add feature version for SDMA ucode
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
351643d7dd
commit
cfa2104fbc
|
@ -1642,6 +1642,7 @@ struct amdgpu_sdma {
|
|||
/* SDMA firmware */
|
||||
const struct firmware *fw;
|
||||
uint32_t fw_version;
|
||||
uint32_t feature_version;
|
||||
|
||||
struct amdgpu_ring ring;
|
||||
};
|
||||
|
|
|
@ -337,7 +337,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
|
|||
if (info->query_fw.index >= 2)
|
||||
return -EINVAL;
|
||||
fw_info.ver = adev->sdma[info->query_fw.index].fw_version;
|
||||
fw_info.feature = 0;
|
||||
fw_info.feature = adev->sdma[info->query_fw.index].feature_version;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
|
|
@ -500,6 +500,7 @@ static int cik_sdma_load_microcode(struct amdgpu_device *adev)
|
|||
amdgpu_ucode_print_sdma_hdr(&hdr->header);
|
||||
fw_size = le32_to_cpu(hdr->header.ucode_size_bytes) / 4;
|
||||
adev->sdma[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
|
||||
adev->sdma[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
|
||||
fw_data = (const __le32 *)
|
||||
(adev->sdma[i].fw->data + le32_to_cpu(hdr->header.ucode_array_offset_bytes));
|
||||
WREG32(mmSDMA0_UCODE_ADDR + sdma_offsets[i], 0);
|
||||
|
|
|
@ -542,6 +542,7 @@ static int sdma_v2_4_load_microcode(struct amdgpu_device *adev)
|
|||
amdgpu_ucode_print_sdma_hdr(&hdr->header);
|
||||
fw_size = le32_to_cpu(hdr->header.ucode_size_bytes) / 4;
|
||||
adev->sdma[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
|
||||
adev->sdma[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
|
||||
|
||||
fw_data = (const __le32 *)
|
||||
(adev->sdma[i].fw->data +
|
||||
|
|
|
@ -631,6 +631,7 @@ static int sdma_v3_0_load_microcode(struct amdgpu_device *adev)
|
|||
amdgpu_ucode_print_sdma_hdr(&hdr->header);
|
||||
fw_size = le32_to_cpu(hdr->header.ucode_size_bytes) / 4;
|
||||
adev->sdma[i].fw_version = le32_to_cpu(hdr->header.ucode_version);
|
||||
adev->sdma[i].feature_version = le32_to_cpu(hdr->ucode_feature_version);
|
||||
|
||||
fw_data = (const __le32 *)
|
||||
(adev->sdma[i].fw->data +
|
||||
|
|
Loading…
Reference in a new issue