From: Yifan Zhang <yifan1.zhang@xxxxxxx> [ Upstream commit 0b08c54bb7a37047a3a006e36c2270ebc62fef7d ] [Why] Screen corruption on Navi10 card [How] Set system context in DCN only on Renoir Tested-by: Matt Coffin <mcoffin13@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Yifan Zhang <yifan1.zhang@xxxxxxx> Reviewed-by: Roman Li <Roman.Li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 547928cf284b5..96907707fdd94 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -1085,10 +1085,14 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) dc_hardware_init(adev->dm.dc); - mmhub_read_system_context(adev, &pa_config); +#if defined(CONFIG_DRM_AMD_DC_DCN) + if (adev->asic_type == CHIP_RENOIR) { + mmhub_read_system_context(adev, &pa_config); - // Call the DC init_memory func - dc_setup_system_context(adev->dm.dc, &pa_config); + // Call the DC init_memory func + dc_setup_system_context(adev->dm.dc, &pa_config); + } +#endif adev->dm.freesync_module = mod_freesync_create(adev->dm.dc); if (!adev->dm.freesync_module) { -- 2.27.0