xserver-multidpi/hw/xfree86/drivers/modesetting
Martin Peres bcee1b76aa modesetting: re-set the crtc's mode when link-status goes BAD
Despite all the careful planning of the kernel, a link may become
insufficient to handle the currently-set mode. At this point, the
kernel should mark this particular configuration as being broken
and potentially prune the mode before setting the offending connector's
link-status to BAD and send the userspace a hotplug event. This may
happen right after a modeset or later on.

Upon receiving a hot-plug event, we iterate through the connectors to
re-apply the currently-set mode on all the connectors that have a
link-status property set to BAD. The kernel may be able to get the
link to work by dropping to using a lower link bpp (with the same
display bpp). However, the modeset may fail if the kernel has pruned
the mode, so to make users aware of this problem a warning is outputed
in the logs to warn about having a potentially-black display.

This patch does not modify the current behaviour of always propagating
the events to the randr clients. This allows desktop environments to
re-probe the connectors and select a new resolution based on the new
(currated) mode list if a mode disapeared. This behaviour is expected in
order to pass the Display Port compliance tests.

Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-04-12 11:00:10 -07:00
..
dri2.c modesetting: Implement DRI2InfoRec version 9 callbacks 2016-09-13 11:18:38 -04:00
driver.c modesetting: cleanup pci device open 2017-01-11 11:14:12 +10:00
driver.h modesetting: cleanup pci device open 2017-01-11 11:14:12 +10:00
drmmode_display.c modesetting: re-set the crtc's mode when link-status goes BAD 2017-04-12 11:00:10 -07:00
drmmode_display.h modesetting: allow switching from software to hardware cursors (v5). 2017-02-08 12:04:42 -05: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
Makefile.am shadow: Lift 32->24 conversion from modesetting to dix 2016-12-12 14:10:44 -05:00
modesetting.man modesetting: Add more missing options to man page. 2015-08-13 00:36:12 +01:00
pageflip.c modesetting: fix compile error when --disable-glamor 2016-09-16 08:54:22 -07:00
present.c modesetting: add DRI2 page flip support 2016-09-02 13:58:09 -04:00
vblank.c modesetting: Set correct DRM event context version 2017-04-07 09:57:54 -04:00