diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-05-29 22:53:37 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-06-23 01:58:04 -0400 |
commit | e540afc32585664840506a7198966d18318381af (patch) | |
tree | 2d0fcb5a1031b2dfe4986ff4aa619ac88d963f61 /drivers/gpu/drm/nouveau/nouveau_bios.c | |
parent | ad830d23d31a51997ca0780dddbe919eb1bfb879 (diff) |
drm/nv50: DCB table quirks for another busted XFX board
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_bios.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bios.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c index 729d5fd7c88d..e93e3148b8e8 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c | |||
@@ -6377,6 +6377,37 @@ apply_dcb_encoder_quirks(struct drm_device *dev, int idx, u32 *conn, u32 *conf) | |||
6377 | } | 6377 | } |
6378 | } | 6378 | } |
6379 | 6379 | ||
6380 | /* Some other twisted XFX board (rhbz#694914) | ||
6381 | * | ||
6382 | * The DVI/VGA encoder combo that's supposed to represent the | ||
6383 | * DVI-I connector actually point at two different ones, and | ||
6384 | * the HDMI connector ends up paired with the VGA instead. | ||
6385 | * | ||
6386 | * Connector table is missing anything for VGA at all, pointing it | ||
6387 | * an invalid conntab entry 2 so we figure it out ourself. | ||
6388 | */ | ||
6389 | if (nv_match_device(dev, 0x0615, 0x1682, 0x2605)) { | ||
6390 | if (idx == 0) { | ||
6391 | *conn = 0x02002300; /* VGA, connector 2 */ | ||
6392 | *conf = 0x00000028; | ||
6393 | } else | ||
6394 | if (idx == 1) { | ||
6395 | *conn = 0x01010312; /* DVI, connector 0 */ | ||
6396 | *conf = 0x00020030; | ||
6397 | } else | ||
6398 | if (idx == 2) { | ||
6399 | *conn = 0x04020310; /* VGA, connector 0 */ | ||
6400 | *conf = 0x00000028; | ||
6401 | } else | ||
6402 | if (idx == 3) { | ||
6403 | *conn = 0x02021322; /* HDMI, connector 1 */ | ||
6404 | *conf = 0x00020010; | ||
6405 | } else { | ||
6406 | *conn = 0x0000000e; /* EOL */ | ||
6407 | *conf = 0x00000000; | ||
6408 | } | ||
6409 | } | ||
6410 | |||
6380 | return true; | 6411 | return true; |
6381 | } | 6412 | } |
6382 | 6413 | ||