drm/amdgpu: add VCN to firmware query interface
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 16 Mar 2018 16:04:53 +0000 (11:04 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 21 Mar 2018 04:42:49 +0000 (23:42 -0500)
Need to be able to query the VCN firmware version from
userspace to determine supported features, etc.

Reviewed-by: Huang Rui <ray.huang@amd.com>
Acked-by: Leo Liu <leo.liu@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 e851c66cbb5ef1aa75eca46d3fab34064f47fa4d..4b7824d30e730c798a664074a2394710d6bdc945 100644 (file)
@@ -190,6 +190,10 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                fw_info->ver = adev->uvd.fw_version;
                fw_info->feature = 0;
                break;
+       case AMDGPU_INFO_FW_VCN:
+               fw_info->ver = adev->vcn.fw_version;
+               fw_info->feature = 0;
+               break;
        case AMDGPU_INFO_FW_GMC:
                fw_info->ver = adev->gmc.fw_version;
                fw_info->feature = 0;
@@ -1198,6 +1202,14 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data)
                           i, fw_info.feature, fw_info.ver);
        }
 
+       /* VCN */
+       query_fw.fw_type = AMDGPU_INFO_FW_VCN;
+       ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
+       if (ret)
+               return ret;
+       seq_printf(m, "VCN feature version: %u, firmware version: 0x%08x\n",
+                  fw_info.feature, fw_info.ver);
+
        return 0;
 }
 
index 528f6d041e906fd94a25031c0384445b820e7cfb..c363b67f2d0ad0c10036b6f0b16906430d6344fe 100644 (file)
@@ -618,6 +618,8 @@ struct drm_amdgpu_cs_chunk_data {
        #define AMDGPU_INFO_FW_SOS              0x0c
        /* Subquery id: Query PSP ASD firmware version */
        #define AMDGPU_INFO_FW_ASD              0x0d
+       /* Subquery id: Query VCN firmware version */
+       #define AMDGPU_INFO_FW_VCN              0x0e
 /* number of bytes moved for TTM migration */
 #define AMDGPU_INFO_NUM_BYTES_MOVED            0x0f
 /* the used VRAM size */