drm/amdgpu: add ta DTM/HDCP print in amdgpu_firmware_info for apu
authorChangfeng <Changfeng.Zhu@amd.com>
Tue, 8 Sep 2020 08:12:42 +0000 (16:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Sep 2020 21:52:39 +0000 (17:52 -0400)
It needs to add ta DTM/HDCP print to get HDCP/DTM version info when cat
amdgpu_firmware_info

Signed-off-by: Changfeng <Changfeng.Zhu@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 456a4a9..bccaf4f 100644 (file)
@@ -282,14 +282,25 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                fw_info->feature = 0;
                break;
        case AMDGPU_INFO_FW_TA:
-               if (query_fw->index > 1)
-                       return -EINVAL;
-               if (query_fw->index == 0) {
+               switch (query_fw->index) {
+               case 0:
                        fw_info->ver = adev->psp.ta_fw_version;
                        fw_info->feature = adev->psp.ta_xgmi_ucode_version;
-               } else {
+                       break;
+               case 1:
                        fw_info->ver = adev->psp.ta_fw_version;
                        fw_info->feature = adev->psp.ta_ras_ucode_version;
+                       break;
+               case 2:
+                       fw_info->ver = adev->psp.ta_fw_version;
+                       fw_info->feature = adev->psp.ta_hdcp_ucode_version;
+                       break;
+               case 3:
+                       fw_info->ver = adev->psp.ta_fw_version;
+                       fw_info->feature = adev->psp.ta_dtm_ucode_version;
+                       break;
+               default:
+                       return -EINVAL;
                }
                break;
        case AMDGPU_INFO_FW_SDMA:
@@ -1385,13 +1396,31 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data)
                   fw_info.feature, fw_info.ver);
 
        query_fw.fw_type = AMDGPU_INFO_FW_TA;
-       for (i = 0; i < 2; i++) {
+       for (i = 0; i < 4; i++) {
                query_fw.index = i;
                ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
                if (ret)
                        continue;
-               seq_printf(m, "TA %s feature version: %u, firmware version: 0x%08x\n",
-                               i ? "RAS" : "XGMI", fw_info.feature, fw_info.ver);
+               switch (query_fw.index) {
+               case 0:
+                       seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
+                                       "RAS", fw_info.feature, fw_info.ver);
+                       break;
+               case 1:
+                       seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
+                                       "XGMI", fw_info.feature, fw_info.ver);
+                       break;
+               case 2:
+                       seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
+                                       "HDCP", fw_info.feature, fw_info.ver);
+                       break;
+               case 3:
+                       seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
+                                       "DTM", fw_info.feature, fw_info.ver);
+                       break;
+               default:
+                       return -EINVAL;
+               }
        }
 
        /* SMC */