drm/radeon: add quirk for RV100 board
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 29 Jan 2013 21:36:47 +0000 (16:36 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 29 Jan 2013 21:40:55 +0000 (16:40 -0500)
vbios says external TMDS while the board is actually
internal TMDS.

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=60037

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/radeon_combios.c

index 33a56a09ff10da2feea83f33388c15fad5041574..3e403bdda58fc8eb69b3583d647770f2b9b41210 100644 (file)
@@ -2470,6 +2470,14 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
                                                                   1),
                                                                  ATOM_DEVICE_CRT1_SUPPORT);
                                }
+                               /* RV100 board with external TDMS bit mis-set.
+                                * Actually uses internal TMDS, clear the bit.
+                                */
+                               if (dev->pdev->device == 0x5159 &&
+                                   dev->pdev->subsystem_vendor == 0x1014 &&
+                                   dev->pdev->subsystem_device == 0x029A) {
+                                       tmp &= ~(1 << 4);
+                               }
                                if ((tmp >> 4) & 0x1) {
                                        devices |= ATOM_DEVICE_DFP2_SUPPORT;
                                        radeon_add_legacy_encoder(dev,