path: root/
diff options
authorMartin Peres <>2017-08-22 18:43:24 +0900
committerMichel Dänzer <>2017-08-22 18:43:24 +0900
commit0de05767adb79d417284dae83e9a77857633fd80 (patch)
treeeb4cb78562fe31b218ee31d55c01317b8c93a8ef /
parenta2ee5c36c7d4fdcd067fdc1ef424be474f1ad2cb (diff)
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. (Ported from xserver commit bcee1b76aa0db8525b491485e90b8740763d7de6) [ Michel: Bump libdrm dependency to >= 2.4.78 for DRM_MODE_LINK_STATUS_BAD ] (Ported from radeon commit 0472a605e0ec8fec1892bbc3a84698b7ef9c5296) Acked-by: Harry Wentland <> Reviewed-by: Alex Deucher <>
Diffstat (limited to '')
1 files changed, 1 insertions, 1 deletions
diff --git a/ b/
index 0ff2bdf..6d7cee4 100644
--- a/
+++ b/
@@ -70,7 +70,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Checks for libraries.
-PKG_CHECK_MODULES(LIBDRM, [libdrm >= 2.4.72])
+PKG_CHECK_MODULES(LIBDRM, [libdrm >= 2.4.78])
PKG_CHECK_MODULES(LIBDRM_AMDGPU, [libdrm_amdgpu >= 2.4.72])