Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5206b524 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

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: default avatarBen Skeggs <bskeggs@redhat.com>
parent 69964ea4
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -6156,11 +6156,15 @@ dcb_fake_connectors(struct nvbios *bios)

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

	/* no useful connector info available, we need to make it up
	 * ourselves.  the rule here is: anything on the same i2c bus