xserver/hw/xfree86/drivers/modesetting
Kishore Kadiyala efb3abddd4 modesetting: keep going if a modeset fails on EnterVT
There was a time when setting a mode on a CRTC would not depend on the
associated connector's state. If a mode had been set successfully once,
it would mean it would work later on.

This changed with the introduction of new connectors type that now
require a link training sequence (DP, HDMI 2.0), and that means that
some events may have happened while the X server was not master that
would then prevent the mode from successfully be restored to its
previous state.

This patch relaxes the requirement that all modes should be restored on
EnterVT, or the entire X-Server would go down by allowing modesets to
fail (with some warnings). If a modeset fails, the CRTC will be
disabled, and a RandR event will be sent for the desktop environment to
fix the situation as well as possible.

Additional patches might be needed to make sure that the user would
never be left with all screens black in some scenarios.

v2 (Martin Peres):
 - whitespace fixes
 - remove the uevent handling (it is done in a previous patch)
 - improve the commit message
 - reduce the size of the patch by not changing lines needlessly
 - return FALSE if one modeset fails in ignore mode
 - add comments/todos to explain why we do things
 - disable the CRTCs that failed the modeset

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Tested-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Closes: #1010
2020-09-25 16:13:56 +03:00
..
Makefile.am modesetting: Fix broken manpage in autoconf build 2019-10-04 10:29:23 +02:00
dri2.c modesetting: Use EGL_MESA_query_driver to select DRI driver if possible 2019-11-26 01:36:10 -08:00
driver.c modesetting: keep going if a modeset fails on EnterVT 2020-09-25 16:13:56 +03:00
driver.h modesetting: Allow users to opt-in VRR support 2020-09-08 08:00:20 +00:00
drmmode_display.c modesetting: keep going if a modeset fails on EnterVT 2020-09-25 16:13:56 +03:00
drmmode_display.h modesetting: keep going if a modeset fails on EnterVT 2020-09-25 16:13:56 +03: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 xfree86: Link fb statically 2019-07-23 14:24:00 -04:00
modesetting.man modesetting: Document Option "DoubleShadow" in the man page 2018-09-10 14:47:06 -04:00
pageflip.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
present.c modesetting: Lay the foundation for enabling VRR 2020-09-08 08:00:20 +00:00
vblank.c xserver/output: rename some badly named variables/APIs. 2020-07-10 06:17:44 +10:00