aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_atombios.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2012-05-23 11:48:59 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-10 00:32:59 +0900
commit0fe9c3d32bc0e7a46d78dca13a6ed3f91ec92f47 (patch)
tree1c8540c127ace2d2432ac605242fff2e493a890c /drivers/gpu/drm/radeon/radeon_atombios.c
parent6ab5902511d32b50b4b973320979ba99693aa5be (diff)
downloadkernel_samsung_smdk4412-0fe9c3d32bc0e7a46d78dca13a6ed3f91ec92f47.zip
kernel_samsung_smdk4412-0fe9c3d32bc0e7a46d78dca13a6ed3f91ec92f47.tar.gz
kernel_samsung_smdk4412-0fe9c3d32bc0e7a46d78dca13a6ed3f91ec92f47.tar.bz2
drm/radeon: fix XFX quirk
commit 1ebf169ad4dc68f18cc0dab35163b0f324fc6c41 upstream. Only override the ddc bus if the connector doesn't have a valid one. The existing code overrode the ddc bus for all connectors even if it had ddc bus. Fixes ddc on another XFX card with the same pci ids that was broken by the quirk overwriting the correct ddc bus. Reported-by: Mehdi Aqadjani Memar <m.aqadjanimemar@student.ru.nl> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_atombios.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index a324564..ef6b426 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -480,7 +480,9 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,
*/
if ((dev->pdev->device == 0x9498) &&
(dev->pdev->subsystem_vendor == 0x1682) &&
- (dev->pdev->subsystem_device == 0x2452)) {
+ (dev->pdev->subsystem_device == 0x2452) &&
+ (i2c_bus->valid == false) &&
+ !(supported_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT))) {
struct radeon_device *rdev = dev->dev_private;
*i2c_bus = radeon_lookup_i2c_gpio(rdev, 0x93);
}