diff options
| author | Frank Min <Frank.Min@amd.com> | 2016-04-27 06:53:29 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2016-09-22 10:24:15 -0400 |
| commit | fc76cbf45651f58284b8035ae1938e8ff5d19ee7 (patch) | |
| tree | 7db0d88206c46176ae99337c4922784d70d136c2 /drivers | |
| parent | bec86378befae4155b58f80bb9d0da50080291e6 (diff) | |
drm/amdgpu:add fw version entry to info
Signed-off-by: Frank Min <Frank.Min@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 42 | ||||
| -rwxr-xr-x[-rw-r--r--] | drivers/gpu/drm/amd/include/cgs_common.h | 1 | ||||
| -rwxr-xr-x[-rw-r--r--] | drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | 0 |
3 files changed, 43 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c index f1c53a2b09c6..7a8bfa34682f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | |||
| @@ -711,6 +711,47 @@ static int amdgpu_cgs_rel_firmware(struct cgs_device *cgs_device, enum cgs_ucode | |||
| 711 | return -EINVAL; | 711 | return -EINVAL; |
| 712 | } | 712 | } |
| 713 | 713 | ||
| 714 | static uint16_t amdgpu_get_firmware_version(struct cgs_device *cgs_device, | ||
| 715 | enum cgs_ucode_id type) | ||
| 716 | { | ||
| 717 | CGS_FUNC_ADEV; | ||
| 718 | uint16_t fw_version; | ||
| 719 | |||
| 720 | switch (type) { | ||
| 721 | case CGS_UCODE_ID_SDMA0: | ||
| 722 | fw_version = adev->sdma.instance[0].fw_version; | ||
| 723 | break; | ||
| 724 | case CGS_UCODE_ID_SDMA1: | ||
| 725 | fw_version = adev->sdma.instance[1].fw_version; | ||
| 726 | break; | ||
| 727 | case CGS_UCODE_ID_CP_CE: | ||
| 728 | fw_version = adev->gfx.ce_fw_version; | ||
| 729 | break; | ||
| 730 | case CGS_UCODE_ID_CP_PFP: | ||
| 731 | fw_version = adev->gfx.pfp_fw_version; | ||
| 732 | break; | ||
| 733 | case CGS_UCODE_ID_CP_ME: | ||
| 734 | fw_version = adev->gfx.me_fw_version; | ||
| 735 | break; | ||
| 736 | case CGS_UCODE_ID_CP_MEC: | ||
| 737 | fw_version = adev->gfx.mec_fw_version; | ||
| 738 | break; | ||
| 739 | case CGS_UCODE_ID_CP_MEC_JT1: | ||
| 740 | fw_version = adev->gfx.mec_fw_version; | ||
| 741 | break; | ||
| 742 | case CGS_UCODE_ID_CP_MEC_JT2: | ||
| 743 | fw_version = adev->gfx.mec_fw_version; | ||
| 744 | break; | ||
| 745 | case CGS_UCODE_ID_RLC_G: | ||
| 746 | fw_version = adev->gfx.rlc_fw_version; | ||
| 747 | break; | ||
| 748 | default: | ||
| 749 | DRM_ERROR("firmware type %d do not have version\n", type); | ||
| 750 | fw_version = 0; | ||
| 751 | } | ||
| 752 | return fw_version; | ||
| 753 | } | ||
| 754 | |||
| 714 | static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, | 755 | static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, |
| 715 | enum cgs_ucode_id type, | 756 | enum cgs_ucode_id type, |
| 716 | struct cgs_firmware_info *info) | 757 | struct cgs_firmware_info *info) |
| @@ -741,6 +782,7 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, | |||
| 741 | info->mc_addr = gpu_addr; | 782 | info->mc_addr = gpu_addr; |
| 742 | info->image_size = data_size; | 783 | info->image_size = data_size; |
| 743 | info->version = (uint16_t)le32_to_cpu(header->header.ucode_version); | 784 | info->version = (uint16_t)le32_to_cpu(header->header.ucode_version); |
| 785 | info->fw_version = amdgpu_get_firmware_version(cgs_device, type); | ||
| 744 | info->feature_version = (uint16_t)le32_to_cpu(header->ucode_feature_version); | 786 | info->feature_version = (uint16_t)le32_to_cpu(header->ucode_feature_version); |
| 745 | } else { | 787 | } else { |
| 746 | char fw_name[30] = {0}; | 788 | char fw_name[30] = {0}; |
diff --git a/drivers/gpu/drm/amd/include/cgs_common.h b/drivers/gpu/drm/amd/include/cgs_common.h index 6aa8938fd826..df7c18b6a02a 100644..100755 --- a/drivers/gpu/drm/amd/include/cgs_common.h +++ b/drivers/gpu/drm/amd/include/cgs_common.h | |||
| @@ -161,6 +161,7 @@ struct cgs_clock_limits { | |||
| 161 | */ | 161 | */ |
| 162 | struct cgs_firmware_info { | 162 | struct cgs_firmware_info { |
| 163 | uint16_t version; | 163 | uint16_t version; |
| 164 | uint16_t fw_version; | ||
| 164 | uint16_t feature_version; | 165 | uint16_t feature_version; |
| 165 | uint32_t image_size; | 166 | uint32_t image_size; |
| 166 | uint64_t mc_addr; | 167 | uint64_t mc_addr; |
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c index 02fe1df855a9..02fe1df855a9 100644..100755 --- a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | |||
