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> |
||
---|---|---|
.. | ||
dri2.c | ||
driver.c | ||
driver.h | ||
drmmode_display.c | ||
drmmode_display.h | ||
dumb_bo.c | ||
dumb_bo.h | ||
Makefile.am | ||
modesetting.man | ||
pageflip.c | ||
present.c | ||
vblank.c |