drm/amdgpu: add psp firmware info into info query and debugfs
authorHuang Rui <ray.huang@amd.com>
Sat, 4 Mar 2017 00:15:26 +0000 (19:15 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Mar 2017 03:54:49 +0000 (23:54 -0400)
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@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 a6d15978d821c627c914ceb8bd9059140f9567a3..5ded370a4b35c428887b4a5a3d90bac216ec9c42 100644 (file)
@@ -208,6 +208,14 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                fw_info->ver = adev->sdma.instance[query_fw->index].fw_version;
                fw_info->feature = adev->sdma.instance[query_fw->index].feature_version;
                break;
+       case AMDGPU_INFO_FW_SOS:
+               fw_info->ver = adev->psp.sos_fw_version;
+               fw_info->feature = adev->psp.sos_feature_version;
+               break;
+       case AMDGPU_INFO_FW_ASD:
+               fw_info->ver = adev->psp.asd_fw_version;
+               fw_info->feature = adev->psp.asd_feature_version;
+               break;
        default:
                return -EINVAL;
        }
@@ -1080,6 +1088,23 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data)
                           fw_info.feature, fw_info.ver);
        }
 
+       /* PSP SOS */
+       query_fw.fw_type = AMDGPU_INFO_FW_SOS;
+       ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
+       if (ret)
+               return ret;
+       seq_printf(m, "SOS feature version: %u, firmware version: 0x%08x\n",
+                  fw_info.feature, fw_info.ver);
+
+
+       /* PSP ASD */
+       query_fw.fw_type = AMDGPU_INFO_FW_ASD;
+       ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
+       if (ret)
+               return ret;
+       seq_printf(m, "ASD feature version: %u, firmware version: 0x%08x\n",
+                  fw_info.feature, fw_info.ver);
+
        /* SMC */
        query_fw.fw_type = AMDGPU_INFO_FW_SMC;
        ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
index 770dc56df3ddabf7adea0787fba592525a031361..c03bae9067878b1b9054909dfc4cc8c3f17f04a8 100644 (file)
@@ -523,6 +523,10 @@ struct drm_amdgpu_cs_chunk_data {
        #define AMDGPU_INFO_FW_SMC              0x0a
        /* Subquery id: Query SDMA firmware version */
        #define AMDGPU_INFO_FW_SDMA             0x0b
+       /* Subquery id: Query PSP SOS firmware version */
+       #define AMDGPU_INFO_FW_SOS              0x0c
+       /* Subquery id: Query PSP ASD firmware version */
+       #define AMDGPU_INFO_FW_ASD              0x0d
 /* number of bytes moved for TTM migration */
 #define AMDGPU_INFO_NUM_BYTES_MOVED            0x0f
 /* the used VRAM size */