diff options
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_connectors.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index b84b58926106..cf0114ca59a4 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -1267,6 +1267,16 @@ radeon_dvi_detect(struct drm_connector *connector, bool force) goto exit; } } + + if (dret && radeon_connector->hpd.hpd != RADEON_HPD_NONE && + !radeon_hpd_sense(rdev, radeon_connector->hpd.hpd) && + connector->connector_type == DRM_MODE_CONNECTOR_HDMIA) { + DRM_DEBUG_KMS("EDID is readable when HPD disconnected\n"); + schedule_delayed_work(&rdev->hotplug_work, msecs_to_jiffies(1000)); + ret = connector_status_disconnected; + goto exit; + } + if (dret) { radeon_connector->detected_by_load = false; radeon_connector_free_edid(connector); |