linux/drivers/gpu/drm/amd/display/amdgpu_dm
Lyude Paul 2d1af6a11c drm/amdgpu: Don't fail resume process if resuming atomic state fails
This is an ugly one unfortunately. Currently, all DRM drivers supporting
atomic modesetting will save the state that userspace had set before
suspending, then attempt to restore that state on resume. This probably
worked very well at one point, like many other things, until DP MST came
into the picture. While it's easy to restore state on normal display
connectors that were disconnected during suspend regardless of their
state post-resume, this can't really be done with MST because of the
fact that setting up a downstream sink requires performing sideband
transactions between the source and the MST hub, sending out the ACT
packets, etc.

Because of this, there isn't really a guarantee that we can restore the
atomic state we had before suspend once we've resumed. This sucks pretty
bad, but so far I haven't run into any compositors that this actually
causes serious issues with. Most compositors will notice the hotplug we
send afterwards, and then reprobe state.

Since nouveau and i915 also don't fail the suspend/resume process due to
failing to restore the atomic state, let's make amdgpu match this
behavior. Better to resume the GPU properly, then to stop the process
half way because of a potentially unavoidable atomic commit failure.

Eventually, we'll have a real fix for this problem on the DRM level. But
we've got some more important low-hanging fruit to deal with first.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Cc: Jerry Zuo <Jerry.Zuo@amd.com>
Cc: <stable@vger.kernel.org> # v4.15+
Link: https://patchwork.freedesktop.org/patch/msgid/20190108211133.32564-3-lyude@redhat.com
2019-01-08 17:58:26 -05:00
..
amdgpu_dm_color.c drm/amd/display: Add support for Freesync 2 HDR and Content to Display Mapping 2018-11-05 14:20:43 -05:00
amdgpu_dm_crc.c drm/amd/display: Guard against null stream_state in set_crc_source 2018-11-05 14:21:42 -05:00
amdgpu_dm_debugfs.c drm/amdgpu/display: dm/amdgpu: make dp phy debugfs for eDP 2018-10-12 12:53:04 -05:00
amdgpu_dm_debugfs.h drm/amd/display: Add support for hw_state logging via debugfs 2018-08-27 15:20:17 -05:00
amdgpu_dm_helpers.c drm/amd/display: Support reading hw state from debugfs file 2018-08-27 15:20:49 -05:00
amdgpu_dm_irq.c drm/amd/display: Initial documentation for AMDgpu DC 2018-11-05 14:21:37 -05:00
amdgpu_dm_irq.h
amdgpu_dm_mst_types.c drm/amd/dm: Understand why attaching path/tile properties are needed 2018-11-21 15:52:32 -05:00
amdgpu_dm_mst_types.h drm/amd/display: Cleanup MST non-atomic code workaround 2018-11-07 18:20:49 -05:00
amdgpu_dm_pp_smu.c drm/amd/display: Retiring set_display_requirements in dm_pp_smu.h - part4 2018-11-05 14:21:41 -05:00
amdgpu_dm_services.c BackMerge v4.18-rc7 into drm-next 2018-07-30 10:39:22 +10:00
amdgpu_dm_trace.h drm/amd/display: Add tracing to dc 2018-12-05 17:49:49 -05:00
amdgpu_dm.c drm/amdgpu: Don't fail resume process if resuming atomic state fails 2019-01-08 17:58:26 -05:00
amdgpu_dm.h drm/amd/display: Add below the range support for FreeSync 2018-12-18 17:39:42 -05:00
Makefile drm/amd/display: Moving powerplay functions to a separate class 2018-07-05 16:38:41 -05:00