diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/dp.c b/drivers/gpu/drm/nouveau/core/subdev/bios/dp.c index 663853b..abf21dc 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/bios/dp.c +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/dp.c @@ -38,6 +38,7 @@ nvbios_dp_table(struct nouveau_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len) if (data) { *ver = nv_ro08(bios, data + 0x00); switch (*ver) { + case 0x20: case 0x21: case 0x30: case 0x40: @@ -63,6 +64,7 @@ nvbios_dpout_entry(struct nouveau_bios *bios, u8 idx, if (data && idx < *cnt) { u16 outp = nv_ro16(bios, data + *hdr + idx * *len); switch (*ver * !!outp) { + case 0x20: case 0x21: case 0x30: *hdr = nv_ro08(bios, data + 0x04); @@ -93,6 +95,7 @@ nvbios_dpout_parse(struct nouveau_bios *bios, u8 idx, info->type = nv_ro16(bios, data + 0x00); info->mask = nv_ro16(bios, data + 0x02); switch (*ver) { + case 0x20: case 0x21: case 0x30: info->flags = nv_ro08(bios, data + 0x05); @@ -160,6 +163,7 @@ nvbios_dpcfg_parse(struct nouveau_bios *bios, u16 outp, u8 idx, u16 data = nvbios_dpcfg_entry(bios, outp, idx, ver, hdr, cnt, len); if (data) { switch (*ver) { + case 0x20: case 0x21: info->drv = nv_ro08(bios, data + 0x02); info->pre = nv_ro08(bios, data + 0x03);