drm/amdgpu: Add DMCU to firmware query interface
authorDavid Francis <David.Francis@amd.com>
Thu, 13 Sep 2018 19:37:50 +0000 (15:37 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Sep 2018 14:37:43 +0000 (09:37 -0500)
DMCU firmware version can be read using the AMDGPU_INFO ioctl
or the amdgpu_firmware_info debugfs entry

Signed-off-by: David Francis <David.Francis@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
include/uapi/drm/amdgpu_drm.h

index 65b7132..dc4b2f3 100644 (file)
@@ -257,6 +257,10 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                fw_info->ver = adev->psp.asd_fw_version;
                fw_info->feature = adev->psp.asd_feature_version;
                break;
+       case AMDGPU_INFO_FW_DMCU:
+               fw_info->ver = adev->dm.dmcu_fw_version;
+               fw_info->feature = 0;
+               break;
        default:
                return -EINVAL;
        }
@@ -1295,6 +1299,14 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data)
        seq_printf(m, "VCN feature version: %u, firmware version: 0x%08x\n",
                   fw_info.feature, fw_info.ver);
 
+       /* DMCU */
+       query_fw.fw_type = AMDGPU_INFO_FW_DMCU;
+       ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
+       if (ret)
+               return ret;
+       seq_printf(m, "DMCU feature version: %u, firmware version: 0x%08x\n",
+                  fw_info.feature, fw_info.ver);
+
 
        seq_printf(m, "VBIOS version: %s\n", ctx->vbios_version);
 
index 1ceec56..370e9a5 100644 (file)
@@ -665,6 +665,8 @@ struct drm_amdgpu_cs_chunk_data {
        #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM 0x10
        /* Subquery id: Query GFX RLC SRLS firmware version */
        #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11
+       /* Subquery id: Query DMCU firmware version */
+       #define AMDGPU_INFO_FW_DMCU             0x12
 /* number of bytes moved for TTM migration */
 #define AMDGPU_INFO_NUM_BYTES_MOVED            0x0f
 /* the used VRAM size */