aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-01-14 09:47:03 -0500
committerBen Skeggs <bskeggs@redhat.com>2010-01-14 18:28:59 -0500
commit0ed3165e55fdedee6fc04b757907a2d5ccacdf18 (patch)
treea4a3b95c12cc49efb32e324fb5e2f8071456876a
parentc8ebe275790f2c5efc3ffec515c93b7a139829d3 (diff)
drm/nouveau: Fallback to analog load detection when the EDID block is invalid.
Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_connector.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 54c85305a0fb..3dc7e09da286 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -252,7 +252,7 @@ nouveau_connector_detect(struct drm_connector *connector)
252 if (!nv_connector->edid) { 252 if (!nv_connector->edid) {
253 NV_ERROR(dev, "DDC responded, but no EDID for %s\n", 253 NV_ERROR(dev, "DDC responded, but no EDID for %s\n",
254 drm_get_connector_name(connector)); 254 drm_get_connector_name(connector));
255 return connector_status_disconnected; 255 goto detect_analog;
256 } 256 }
257 257
258 if (nv_encoder->dcb->type == OUTPUT_DP && 258 if (nv_encoder->dcb->type == OUTPUT_DP &&
@@ -286,6 +286,7 @@ nouveau_connector_detect(struct drm_connector *connector)
286 return connector_status_connected; 286 return connector_status_connected;
287 } 287 }
288 288
289detect_analog:
289 nv_encoder = find_encoder_by_type(connector, OUTPUT_ANALOG); 290 nv_encoder = find_encoder_by_type(connector, OUTPUT_ANALOG);
290 if (!nv_encoder) 291 if (!nv_encoder)
291 nv_encoder = find_encoder_by_type(connector, OUTPUT_TV); 292 nv_encoder = find_encoder_by_type(connector, OUTPUT_TV);