diff options
| -rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c index d89e78c4e689..972370ed36f0 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c +++ b/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, | |||
| 207 | if (*ver >= 0x30) { | 207 | if (*ver >= 0x30) { |
| 208 | const u8 vsoff[] = { 0, 4, 7, 9 }; | 208 | const u8 vsoff[] = { 0, 4, 7, 9 }; |
| 209 | idx = (pc * 10) + vsoff[vs] + pe; | 209 | idx = (pc * 10) + vsoff[vs] + pe; |
| 210 | if (*ver >= 0x40 && *hdr >= 0x12) | 210 | if (*ver >= 0x40 && *ver <= 0x41 && *hdr >= 0x12) |
| 211 | idx += nvbios_rd08(bios, outp + 0x11) * 40; | 211 | idx += nvbios_rd08(bios, outp + 0x11) * 40; |
| 212 | else | ||
| 213 | if (*ver >= 0x42) | ||
| 214 | idx += nvbios_rd08(bios, outp + 0x11) * 10; | ||
| 212 | } else { | 215 | } else { |
| 213 | while ((data = nvbios_dpcfg_entry(bios, outp, ++idx, | 216 | while ((data = nvbios_dpcfg_entry(bios, outp, ++idx, |
| 214 | ver, hdr, cnt, len))) { | 217 | ver, hdr, cnt, len))) { |
