From f07fdd383df549314f70e3603a90032fd7cdabbc Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 19 Jul 2012 10:25:16 -0400 Subject: [PATCH] drm/radeon: add DVI-D DDC quirk for Asus Xpress200 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=52266 Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org --- drivers/gpu/drm/radeon/radeon_combios.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index 576f4f6..ca5c90c 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c @@ -2218,6 +2218,7 @@ static bool radeon_apply_legacy_quirks(struct drm_device *dev, struct radeon_i2c_bus_rec *ddc_i2c, struct radeon_hpd *hpd) { + struct radeon_device *rdev = dev->dev_private; /* Certain IBM chipset RN50s have a BIOS reporting two VGAs, one with VGA DDC and one with CRT2 DDC. - kill the CRT2 DDC one */ @@ -2236,6 +2237,19 @@ static bool radeon_apply_legacy_quirks(struct drm_device *dev, return false; } + /* Xpress200 with a missing DDC id for DVI-D port */ + if (dev->pdev->device == 0x5a41 && + dev->pdev->subsystem_vendor == 0x1043 && + dev->pdev->subsystem_device == 0x818c) { + if (*legacy_connector == CONNECTOR_DVI_D_LEGACY && + ddc_i2c->valid == false) { + struct radeon_i2c_bus_rec tmp_ddc_i2c = + combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0); + *ddc_i2c = tmp_ddc_i2c; + return true; + } + } + return true; } -- 1.7.7.5