diff options
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bios.c | 25 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_display.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_display.c | 1 |
3 files changed, 16 insertions, 11 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c index 2c6b4a00debb..7df6acc8bb34 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c | |||
@@ -1258,7 +1258,7 @@ olddcb_table(struct drm_device *dev) | |||
1258 | return NULL; | 1258 | return NULL; |
1259 | } | 1259 | } |
1260 | 1260 | ||
1261 | if (dcb[0] >= 0x41) { | 1261 | if (dcb[0] >= 0x42) { |
1262 | NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]); | 1262 | NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]); |
1263 | return NULL; | 1263 | return NULL; |
1264 | } else | 1264 | } else |
@@ -1481,16 +1481,19 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb, | |||
1481 | entry->dpconf.link_bw = 540000; | 1481 | entry->dpconf.link_bw = 540000; |
1482 | break; | 1482 | break; |
1483 | } | 1483 | } |
1484 | switch ((conf & 0x0f000000) >> 24) { | 1484 | entry->dpconf.link_nr = (conf & 0x0f000000) >> 24; |
1485 | case 0xf: | 1485 | if (dcb->version < 0x41) { |
1486 | entry->dpconf.link_nr = 4; | 1486 | switch (entry->dpconf.link_nr) { |
1487 | break; | 1487 | case 0xf: |
1488 | case 0x3: | 1488 | entry->dpconf.link_nr = 4; |
1489 | entry->dpconf.link_nr = 2; | 1489 | break; |
1490 | break; | 1490 | case 0x3: |
1491 | default: | 1491 | entry->dpconf.link_nr = 2; |
1492 | entry->dpconf.link_nr = 1; | 1492 | break; |
1493 | break; | 1493 | default: |
1494 | entry->dpconf.link_nr = 1; | ||
1495 | break; | ||
1496 | } | ||
1494 | } | 1497 | } |
1495 | link = entry->dpconf.sor.link; | 1498 | link = entry->dpconf.sor.link; |
1496 | entry->i2c_index += NV_I2C_AUX(0); | 1499 | entry->i2c_index += NV_I2C_AUX(0); |
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index 2640fcfa5c37..a311a3f932f0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c | |||
@@ -479,6 +479,7 @@ nouveau_display_create(struct drm_device *dev) | |||
479 | 479 | ||
480 | if (nouveau_modeset != 2 && drm->vbios.dcb.entries) { | 480 | if (nouveau_modeset != 2 && drm->vbios.dcb.entries) { |
481 | static const u16 oclass[] = { | 481 | static const u16 oclass[] = { |
482 | GM204_DISP, | ||
482 | GM107_DISP, | 483 | GM107_DISP, |
483 | GK110_DISP, | 484 | GK110_DISP, |
484 | GK104_DISP, | 485 | GK104_DISP, |
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 76b8c4f980ea..27d5418ea168 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c | |||
@@ -266,6 +266,7 @@ nv50_core_create(struct nvif_object *disp, u64 syncbuf, struct nv50_mast *core) | |||
266 | .pushbuf = 0xb0007d00, | 266 | .pushbuf = 0xb0007d00, |
267 | }; | 267 | }; |
268 | static const u32 oclass[] = { | 268 | static const u32 oclass[] = { |
269 | GM204_DISP_CORE_CHANNEL_DMA, | ||
269 | GM107_DISP_CORE_CHANNEL_DMA, | 270 | GM107_DISP_CORE_CHANNEL_DMA, |
270 | GK110_DISP_CORE_CHANNEL_DMA, | 271 | GK110_DISP_CORE_CHANNEL_DMA, |
271 | GK104_DISP_CORE_CHANNEL_DMA, | 272 | GK104_DISP_CORE_CHANNEL_DMA, |