]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/amd/display: reprogram VM config when system resume
authorLewis Huang <Lewis.Huang@amd.com>
Mon, 22 Jul 2019 19:23:32 +0000 (15:23 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Oct 2019 16:58:56 +0000 (18:58 +0200)
[ Upstream commit e5382701c3520b3ed66169a6e4aa6ce5df8c56e0 ]

[Why]
The vm config will be clear to 0 when system enter S4. It will
cause hubbub didn't know how to fetch data when system resume.
The flip always pending because earliest_inuse_address and
request_address are different.

[How]
Reprogram VM config when system resume

Signed-off-by: Lewis Huang <Lewis.Huang@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Eric Yang <eric.yang2@amd.com>
Acked-by: Leo Li <sunpeng.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/dc/core/dc.c

index 0a7adc2925e359937ce7b6eb443418abbeb00319..191f5757ded1fef1e228cd945a6587691e96d16f 100644 (file)
@@ -2016,6 +2016,14 @@ void dc_set_power_state(
                dc_resource_state_construct(dc, dc->current_state);
 
                dc->hwss.init_hw(dc);
+
+#ifdef CONFIG_DRM_AMD_DC_DCN2_0
+               if (dc->hwss.init_sys_ctx != NULL &&
+                       dc->vm_pa_config.valid) {
+                       dc->hwss.init_sys_ctx(dc->hwseq, dc, &dc->vm_pa_config);
+               }
+#endif
+
                break;
        default:
                ASSERT(dc->current_state->stream_count == 0);