diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index f75247d..1d92614 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c @@ -2230,6 +2230,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 */ @@ -2248,6 +2249,16 @@ static bool radeon_apply_legacy_quirks(struct drm_device *dev, return false; } + /* Asus 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 && + *legacy_connector == CONNECTOR_DVI_D_LEGACY) { + *ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0); + //*ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0); + return true; + } + return true; }