OSDN Git Service

drm/radeon/kms: bail early in dvi_detect for digital only connectors
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 7 Oct 2011 18:23:47 +0000 (14:23 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Nov 2011 17:35:20 +0000 (09:35 -0800)
commit 5f0a26128d66ef81613fe923d5c288942844ccdc upstream.

DVI-D and HDMI-A are digital only, so there's no need to
attempt analog load detect.  Also, skip bail before the
!force check, or we fail to get a disconnect events.
The next patches in the series attempt to fix disconnect
events for connectors with analog support (DVI-I, HDMI-B,
DVI-A).

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=41561

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/radeon/radeon_connectors.c

index 05b8b2c..c063da3 100644 (file)
@@ -950,6 +950,11 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
        if ((ret == connector_status_connected) && (radeon_connector->use_digital == true))
                goto out;
 
+       /* DVI-D and HDMI-A are digital only */
+       if ((connector->connector_type == DRM_MODE_CONNECTOR_DVID) ||
+           (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA))
+               goto out;
+
        if (!force) {
                ret = connector->status;
                goto out;