aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
diff options
context:
space:
mode:
authorHuang Rui <ray.huang@amd.com>2018-01-22 07:48:14 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-05-15 14:43:36 -0400
commit621a6318adea69b08a3652c64bc7cc0cb4dacfb4 (patch)
tree8813a932613f5e929ba4a84ce27efb7dde0d2d22 /drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
parentd40e9b13c8bad15e56f2e8c9572f62c1229833a6 (diff)
drm/amdgpu: add save restore list cntl gpm and srm firmware support
RLC save/restore list cntl/gpm_mem/srm_mem ucodes are used for CGPG and gfxoff function. Signed-off-by: Huang Rui <ray.huang@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index d602f8b14c58..eb4785e51573 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -215,6 +215,18 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
215 fw_info->ver = adev->gfx.rlc_fw_version; 215 fw_info->ver = adev->gfx.rlc_fw_version;
216 fw_info->feature = adev->gfx.rlc_feature_version; 216 fw_info->feature = adev->gfx.rlc_feature_version;
217 break; 217 break;
218 case AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_CNTL:
219 fw_info->ver = adev->gfx.rlc_srlc_fw_version;
220 fw_info->feature = adev->gfx.rlc_srlc_feature_version;
221 break;
222 case AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM:
223 fw_info->ver = adev->gfx.rlc_srlg_fw_version;
224 fw_info->feature = adev->gfx.rlc_srlg_feature_version;
225 break;
226 case AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM:
227 fw_info->ver = adev->gfx.rlc_srls_fw_version;
228 fw_info->feature = adev->gfx.rlc_srls_feature_version;
229 break;
218 case AMDGPU_INFO_FW_GFX_MEC: 230 case AMDGPU_INFO_FW_GFX_MEC:
219 if (query_fw->index == 0) { 231 if (query_fw->index == 0) {
220 fw_info->ver = adev->gfx.mec_fw_version; 232 fw_info->ver = adev->gfx.mec_fw_version;
@@ -1149,6 +1161,30 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data)
1149 seq_printf(m, "RLC feature version: %u, firmware version: 0x%08x\n", 1161 seq_printf(m, "RLC feature version: %u, firmware version: 0x%08x\n",
1150 fw_info.feature, fw_info.ver); 1162 fw_info.feature, fw_info.ver);
1151 1163
1164 /* RLC SAVE RESTORE LIST CNTL */
1165 query_fw.fw_type = AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_CNTL;
1166 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
1167 if (ret)
1168 return ret;
1169 seq_printf(m, "RLC SRLC feature version: %u, firmware version: 0x%08x\n",
1170 fw_info.feature, fw_info.ver);
1171
1172 /* RLC SAVE RESTORE LIST GPM MEM */
1173 query_fw.fw_type = AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM;
1174 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
1175 if (ret)
1176 return ret;
1177 seq_printf(m, "RLC SRLG feature version: %u, firmware version: 0x%08x\n",
1178 fw_info.feature, fw_info.ver);
1179
1180 /* RLC SAVE RESTORE LIST SRM MEM */
1181 query_fw.fw_type = AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM;
1182 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
1183 if (ret)
1184 return ret;
1185 seq_printf(m, "RLC SRLS feature version: %u, firmware version: 0x%08x\n",
1186 fw_info.feature, fw_info.ver);
1187
1152 /* MEC */ 1188 /* MEC */
1153 query_fw.fw_type = AMDGPU_INFO_FW_GFX_MEC; 1189 query_fw.fw_type = AMDGPU_INFO_FW_GFX_MEC;
1154 query_fw.index = 0; 1190 query_fw.index = 0;