The analog link detection code path had already performed the
DAC load detection by the time the EDID read is attempted.
So there is no need to repeat the DAC load detection,
we can know that no display is connected if no EDID is read.
Fixes: ee9fe14a64a2 ("drm/amd/display: Use DAC load detection on analog
connectors (v2)")
Suggested-by: Alex Hung <[email protected]>
Signed-off-by: Timur Kristóf <[email protected]>
---
drivers/gpu/drm/amd/display/dc/link/link_detection.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
index 6d31f4967f1a..5c769f51f1ea 100644
--- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
+++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
@@ -1169,11 +1169,10 @@ static bool detect_link_and_local_sink(struct dc_link
*link,
* - cheap DVI-A cable or adapter that doesn't connect
DDC
*/
if (dc_connector_supports_analog(link->link_id.id)) {
- /* If we didn't do DAC load detection yet, do
it now
- * to verify there really is a display
connected.
+ /* If we didn't already detect a display using
+ * DAC load detection, we know it isn't
connected.
*/
- if (link->type != dc_connection_dac_load &&
- !link_detect_dac_load_detect(link)) {
+ if (link->type != dc_connection_dac_load) {
if (prev_sink)
dc_sink_release(prev_sink);
link_disconnect_sink(link);
--
2.52.0