From: xinhui pan <xinhui....@amd.com>

Output the ta fw, aka xgmi/ras, via debugfs.

Signed-off-by: xinhui pan <xinhui....@amd.com>
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 21 +++++++++++++++++++++
 include/uapi/drm/amdgpu_drm.h           |  1 +
 2 files changed, 22 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index b65e18101108..4d0ccca891cb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -295,6 +295,17 @@ static int amdgpu_firmware_info(struct 
drm_amdgpu_info_firmware *fw_info,
                fw_info->ver = adev->pm.fw_version;
                fw_info->feature = 0;
                break;
+       case AMDGPU_INFO_FW_TA:
+               if (query_fw->index > 1)
+                       return -EINVAL;
+               if (query_fw->index == 0) {
+                       fw_info->ver = adev->psp.ta_fw_version;
+                       fw_info->feature = adev->psp.ta_xgmi_ucode_version;
+               } else {
+                       fw_info->ver = adev->psp.ta_fw_version;
+                       fw_info->feature = adev->psp.ta_ras_ucode_version;
+               }
+               break;
        case AMDGPU_INFO_FW_SDMA:
                if (query_fw->index >= adev->sdma.num_instances)
                        return -EINVAL;
@@ -1327,6 +1338,16 @@ static int amdgpu_debugfs_firmware_info(struct seq_file 
*m, void *data)
        seq_printf(m, "ASD feature version: %u, firmware version: 0x%08x\n",
                   fw_info.feature, fw_info.ver);
 
+       query_fw.fw_type = AMDGPU_INFO_FW_TA;
+       for (i = 0; i < 2; 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);
+       }
+
        /* SMC */
        query_fw.fw_type = AMDGPU_INFO_FW_SMC;
        ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
index 4a53f6cfa034..e5275d4481f5 100644
--- a/include/uapi/drm/amdgpu_drm.h
+++ b/include/uapi/drm/amdgpu_drm.h
@@ -680,6 +680,7 @@ struct drm_amdgpu_cs_chunk_data {
        #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11
        /* Subquery id: Query DMCU firmware version */
        #define AMDGPU_INFO_FW_DMCU             0x12
+       #define AMDGPU_INFO_FW_TA               0x13
 /* number of bytes moved for TTM migration */
 #define AMDGPU_INFO_NUM_BYTES_MOVED            0x0f
 /* the used VRAM size */
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to