drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 1 Nov 2017 15:04:33 +0000 (16:04 +0100)
committerMaarten Lankhorst <maarten.lankhorst@ubuntu.com>
Wed, 8 Nov 2017 07:49:27 +0000 (08:49 +0100)
commit846c7dfc1193eb2f9866fe2fa0ae7d45c72f95b9
tree316498e60c1e6292b75b1b1dc37413ebad2e4059
parent79436a1c9bccf5e38cb6ea26e4e4b9283baf2e20
drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2.

This introduces a slight behavioral change to rmfb. Instead of
disabling a crtc when the primary plane is disabled, we try to
preserve it.

Apart from old versions of the vmwgfx xorg driver, there is
nothing depending on rmfb disabling a crtc.

Vmwgfx' and simple kms helper atomic implementation rejects CRTC
enabled without plane, so we can do this safely.

If the atomic commit is rejected by the driver then we will still
fall back to the old behavior and turn off the crtc.

Changes since v1:
- Restart completely when rmfb with crtc on fails (Sean Paul).

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171101150433.10777-1-maarten.lankhorst@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_framebuffer.c