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

Reply via email to