aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-05-18 19:26:46 -0400
committerDave Airlie <airlied@redhat.com>2010-05-18 20:31:16 -0400
commit2bfcc0fc698d550689ef020c73b2d977b73e728c (patch)
treed0b77b1043b5225e001a1113a3322a297bd6f6bc /drivers/gpu
parent6fd024893911dcb51b4a0aa71971db5ba38f7071 (diff)
drm/radeon/kms: reset ddc_bus in object header parsing
Some LVDS connectors don't have a ddc bus, so reset the ddc bus to invalid before parsing the next connector to avoid using stale ddc bus data. Should fix fdo bug 28164. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index 1c24dad0ac39..8cb4173365c3 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -530,6 +530,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
530 } 530 }
531 531
532 /* look up gpio for ddc, hpd */ 532 /* look up gpio for ddc, hpd */
533 ddc_bus.valid = false;
534 hpd.hpd = RADEON_HPD_NONE;
533 if ((le16_to_cpu(path->usDeviceTag) & 535 if ((le16_to_cpu(path->usDeviceTag) &
534 (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) { 536 (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) {
535 for (j = 0; j < con_obj->ucNumberOfObjects; j++) { 537 for (j = 0; j < con_obj->ucNumberOfObjects; j++) {
@@ -585,9 +587,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
585 break; 587 break;
586 } 588 }
587 } 589 }
588 } else {
589 hpd.hpd = RADEON_HPD_NONE;
590 ddc_bus.valid = false;
591 } 590 }
592 591
593 /* needed for aux chan transactions */ 592 /* needed for aux chan transactions */