[PATCH v2 12/21] drm/i915/dp: Use check link state work in the detect handler

gareth.yu
2024-05-27T05:04:10Z

A bad link in MST is not retrained. Please also consider MST.
The issue ticket is https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10902.

if (intel_dp->is_mst) {
/*
* If we are in MST mode then this connector
* won't appear connected or have anything
* with EDID on it
*/
status = connector_status_disconnected;
goto out;
}

/*
* Some external monitors do not signal loss of link synchronization
* with an IRQ_HPD, so force a link status check.
*/
if (!intel_dp_is_edp(intel_dp)) {
ret = intel_dp_retrain_link(encoder, ctx);
if (ret)
return ret;
}