diff options
author | David Francis <David.Francis@amd.com> | 2018-09-13 15:37:50 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-09-14 10:37:43 -0400 |
commit | 4d11b4b256a882800e033e003351244ae7d5d174 (patch) | |
tree | e8462d25f65160974444858069a0ab899ccc14e6 | |
parent | ee6e89c0f1d18fef9206e68747577d99bbf923ea (diff) |
drm/amdgpu: Add DMCU to firmware query interface
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>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 12 | ||||
-rw-r--r-- | include/uapi/drm/amdgpu_drm.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 65b713225ebf..dc4b2f34e3ea 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |||
@@ -257,6 +257,10 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info, | |||
257 | fw_info->ver = adev->psp.asd_fw_version; | 257 | fw_info->ver = adev->psp.asd_fw_version; |
258 | fw_info->feature = adev->psp.asd_feature_version; | 258 | fw_info->feature = adev->psp.asd_feature_version; |
259 | break; | 259 | break; |
260 | case AMDGPU_INFO_FW_DMCU: | ||
261 | fw_info->ver = adev->dm.dmcu_fw_version; | ||
262 | fw_info->feature = 0; | ||
263 | break; | ||
260 | default: | 264 | default: |
261 | return -EINVAL; | 265 | return -EINVAL; |
262 | } | 266 | } |
@@ -1295,6 +1299,14 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data) | |||
1295 | seq_printf(m, "VCN feature version: %u, firmware version: 0x%08x\n", | 1299 | seq_printf(m, "VCN feature version: %u, firmware version: 0x%08x\n", |
1296 | fw_info.feature, fw_info.ver); | 1300 | fw_info.feature, fw_info.ver); |
1297 | 1301 | ||
1302 | /* DMCU */ | ||
1303 | query_fw.fw_type = AMDGPU_INFO_FW_DMCU; | ||
1304 | ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); | ||
1305 | if (ret) | ||
1306 | return ret; | ||
1307 | seq_printf(m, "DMCU feature version: %u, firmware version: 0x%08x\n", | ||
1308 | fw_info.feature, fw_info.ver); | ||
1309 | |||
1298 | 1310 | ||
1299 | seq_printf(m, "VBIOS version: %s\n", ctx->vbios_version); | 1311 | seq_printf(m, "VBIOS version: %s\n", ctx->vbios_version); |
1300 | 1312 | ||
diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h index 1ceec56de015..370e9a5536ef 100644 --- a/include/uapi/drm/amdgpu_drm.h +++ b/include/uapi/drm/amdgpu_drm.h | |||
@@ -665,6 +665,8 @@ struct drm_amdgpu_cs_chunk_data { | |||
665 | #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM 0x10 | 665 | #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM 0x10 |
666 | /* Subquery id: Query GFX RLC SRLS firmware version */ | 666 | /* Subquery id: Query GFX RLC SRLS firmware version */ |
667 | #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11 | 667 | #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11 |
668 | /* Subquery id: Query DMCU firmware version */ | ||
669 | #define AMDGPU_INFO_FW_DMCU 0x12 | ||
668 | /* number of bytes moved for TTM migration */ | 670 | /* number of bytes moved for TTM migration */ |
669 | #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f | 671 | #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f |
670 | /* the used VRAM size */ | 672 | /* the used VRAM size */ |