drm/nouveau/bios: fix regression on some nv4x board

We started using the connector table on nv4x a while back, and this VBIOS
has bad connector indices which causes the wrong encoders to get paired
with connectors.

Add a quirk to fix this...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Ben Skeggs 2012-04-13 19:22:30 +10:00
parent 69964ea4c7
commit 5206b524c9

View File

@ -6156,10 +6156,14 @@ dcb_fake_connectors(struct nvbios *bios)
/* heuristic: if we ever get a non-zero connector field, assume /* heuristic: if we ever get a non-zero connector field, assume
* that all the indices are valid and we don't need fake them. * that all the indices are valid and we don't need fake them.
*
* and, as usual, a blacklist of boards with bad bios data..
*/ */
for (i = 0; i < dcbt->entries; i++) { if (!nv_match_device(bios->dev, 0x0392, 0x107d, 0x20a2)) {
if (dcbt->entry[i].connector) for (i = 0; i < dcbt->entries; i++) {
return; if (dcbt->entry[i].connector)
return;
}
} }
/* no useful connector info available, we need to make it up /* no useful connector info available, we need to make it up