Browse Source

drm/nouveau/bios/dp: fix handling of LevelEntryTableIndex on DP table 4.2

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 8 years ago
parent
commit
79d48dadb0
1 changed files with 4 additions and 1 deletions
  1. 4 1
      drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c

+ 4 - 1
drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c

@@ -207,8 +207,11 @@ nvbios_dpcfg_match(struct nvkm_bios *bios, u16 outp, u8 pc, u8 vs, u8 pe,
 	if (*ver >= 0x30) {
 		const u8 vsoff[] = { 0, 4, 7, 9 };
 		idx = (pc * 10) + vsoff[vs] + pe;
-		if (*ver >= 0x40 && *hdr >= 0x12)
+		if (*ver >= 0x40 && *ver <= 0x41 && *hdr >= 0x12)
 			idx += nvbios_rd08(bios, outp + 0x11) * 40;
+		else
+		if (*ver >= 0x42)
+			idx += nvbios_rd08(bios, outp + 0x11) * 10;
 	} else {
 		while ((data = nvbios_dpcfg_entry(bios, outp, ++idx,
 						  ver, hdr, cnt, len))) {