Handle LINK_STATUS in DRM backend
The LINK_STATUS
connector property is set to BAD
when something bad happened to the link. Sometimes this is set when it needs retraining; often it is an indicator that the modeset couldn't actually complete (e.g. a marginal cable preventing higher-frequency modes from locking and training).
We need to:
- check the
LINK_STATUS
connector property whenever we get hotplug notifications - if
LINK_STATUS
isBAD
, try setting the current mode again whilst resetting the property toGOOD
- if we get another failure, blacklist the current mode and step down one