diff options
| author | Alex Deucher <alexdeucher@gmail.com> | 2010-05-18 19:26:46 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2010-05-18 20:31:16 -0400 |
| commit | 2bfcc0fc698d550689ef020c73b2d977b73e728c (patch) | |
| tree | d0b77b1043b5225e001a1113a3322a297bd6f6bc | |
| parent | 6fd024893911dcb51b4a0aa71971db5ba38f7071 (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>
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 5 |
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 */ |
