xserver-multidpi/hw/xfree86
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
..
common Bump input minor ABI due to addition of input event drain callback 2020-09-24 17:33:22 +00:00
ddc Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
dixmods glx: unbreak on Unix without /usr/include/drm 2020-05-27 07:15:07 +00:00
doc Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
dri Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
dri2 xserver/output: rename some badly named variables/APIs. 2020-07-10 06:17:44 +10:00
drivers modesetting: keep going if a modeset fails on EnterVT 2020-09-25 16:13:56 +03:00
exa meson: Install man pages 2018-03-27 10:28:33 -04:00
fbdevhw Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
glamor_egl glamor: Make Xv extension initialize at depth 30. 2018-02-27 10:18:06 -05:00
i2c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
int10 Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
loader loader: strdup const string assigned to local variable name 2020-01-28 20:35:06 +00:00
man Update URL's in man pages 2020-05-10 17:46:33 -07:00
modes randr: Re-add removed NULL checks to xf86RandR12.c 2020-07-21 15:53:53 +00:00
os-support Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
parser Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
ramdac xfree86: Take second reference for SavedCursor in xf86CursorSetCursor 2020-08-31 12:10:43 +02:00
shadowfb meson: Fix linkage of loadable modules for PE/COFF 2017-10-12 15:22:04 -04:00
utils Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
vgahw Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
x86emu Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xkb XKB: Add debug key actions for grabs & window tree 2020-07-31 05:25:50 +00:00
.gitignore Xorg: Add Xorg.wrap to hw/xfree86/.gitignore 2014-04-18 11:39:16 +02:00
Makefile.am xfree86: Merge vbe into int10 2019-10-02 10:03:26 -04:00
meson.build xfree86: Merge vbe into int10 2019-10-02 10:03:26 -04:00
sdksyms.sh Consolidate fourcc.h 2020-09-15 11:43:16 +02:00
xorg-wrapper.c Fix various spelling errors 2019-10-01 17:05:28 +00:00
Xorg.sh.in xfree86: rename Xorg.bin to Xorg 2015-01-05 09:53:58 +10:00
xorgconf.cpp Fix spelling/wording issues 2020-07-05 13:07:33 -07:00