Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Frank Min and committed by
Alex Deucher
fc76cbf4 bec86378

+43
+42
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
··· 711 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 755 static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, 715 756 enum cgs_ucode_id type, 716 757 struct cgs_firmware_info *info) ··· 782 741 info->mc_addr = gpu_addr; 783 742 info->image_size = data_size; 784 743 info->version = (uint16_t)le32_to_cpu(header->header.ucode_version); 744 + info->fw_version = amdgpu_get_firmware_version(cgs_device, type); 785 745 info->feature_version = (uint16_t)le32_to_cpu(header->ucode_feature_version); 786 746 } else { 787 747 char fw_name[30] = {0};
+1
drivers/gpu/drm/amd/include/cgs_common.h
··· 161 161 */ 162 162 struct cgs_firmware_info { 163 163 uint16_t version; 164 + uint16_t fw_version; 164 165 uint16_t feature_version; 165 166 uint32_t image_size; 166 167 uint64_t mc_addr;
drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c