From: Yifan Zhang yifan1.zhang@amd.com
[ Upstream commit 0b08c54bb7a37047a3a006e36c2270ebc62fef7d ]
[Why] Screen corruption on Navi10 card
[How] Set system context in DCN only on Renoir
Tested-by: Matt Coffin mcoffin13@gmail.com Acked-by: Alex Deucher alexander.deucher@amd.com Signed-off-by: Yifan Zhang yifan1.zhang@amd.com Reviewed-by: Roman Li Roman.Li@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com Signed-off-by: Sasha Levin sashal@kernel.org --- 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) {