xserver/hw/xfree86/drivers/modesetting
Lyude Paul c12f1bd4b7 modesetting: Also disable CRTC in drmmode_output_disable()
So, this did actually work on older kernels at one point in time,
however it seems that this working was a result of some of the Linux
kernel's atomic modesetting helpers not preserving the CRTC's enabled
state in the right spots. This was fixed in:

846c7dfc1193 ("drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2")

As a result, atomic commits which simply disassociate a DRM connector
with it's CRTC while leaving the CRTC in an enabled state aren't enough
to disable the CRTC, and result in the atomic commit failing. This
currently can cause issues with MST hotplugging where X will end up
failing to disable the MST outputs after they've left the system. A
simple reproducer:

- Start up Xorg
- Connect an MST hub with displays connected to it
- Remove the hub
- Now there should be CRTCs stuck on the orphaned MST connectors, and X
  won't be able to reclaim them.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2018-06-26 17:25:19 -07:00
..
Makefile.am shadow: Lift 32->24 conversion from modesetting to dix 2016-12-12 14:10:44 -05:00
dri2.c modesetting: Fix inverted check in dri2 WaitMSC 2018-04-17 10:26:25 -04:00
driver.c modesetting: Pass O_CLOEXEC when opening a DRM device 2018-05-21 13:56:41 -04:00
driver.h modesetting: Fix and improve ms_kernel_msc_to_crtc_msc() 2018-05-07 14:01:01 -04:00
drmmode_display.c modesetting: Also disable CRTC in drmmode_output_disable() 2018-06-26 17:25:19 -07:00
drmmode_display.h modesetting: Remove ms_crtc_msc_to_kernel_msc(). 2018-05-07 12:32:40 -04:00
dumb_bo.c modesetting: Include dix-config.h from dumb_bo.c 2015-05-12 08:02:11 -07:00
dumb_bo.h modesetting: Drop dumb_bo::map_count field and dead unmap code. 2014-12-11 11:26:19 -08:00
meson.build modesetting: set gbm as dependency in meson build 2018-05-08 12:41:58 -04:00
modesetting.man man: s/__/@/g 2018-03-27 10:13:17 -04:00
pageflip.c modesetting: Use atomic modesetting to set DPMS mode 2018-04-04 14:01:48 -04:00
present.c modesetting: Fix GBM objects leak when checking for flip 2018-04-30 14:01:02 -04:00
vblank.c modesetting: Fix and improve ms_kernel_msc_to_crtc_msc() 2018-05-07 14:01:01 -04:00