Commit dbbd6bcf authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau: add support for gm204

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 083dba02
...@@ -1258,7 +1258,7 @@ olddcb_table(struct drm_device *dev) ...@@ -1258,7 +1258,7 @@ olddcb_table(struct drm_device *dev)
return NULL; return NULL;
} }
if (dcb[0] >= 0x41) { if (dcb[0] >= 0x42) {
NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]); NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]);
return NULL; return NULL;
} else } else
...@@ -1481,16 +1481,19 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb, ...@@ -1481,16 +1481,19 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb,
entry->dpconf.link_bw = 540000; entry->dpconf.link_bw = 540000;
break; break;
} }
switch ((conf & 0x0f000000) >> 24) { entry->dpconf.link_nr = (conf & 0x0f000000) >> 24;
case 0xf: if (dcb->version < 0x41) {
entry->dpconf.link_nr = 4; switch (entry->dpconf.link_nr) {
break; case 0xf:
case 0x3: entry->dpconf.link_nr = 4;
entry->dpconf.link_nr = 2; break;
break; case 0x3:
default: entry->dpconf.link_nr = 2;
entry->dpconf.link_nr = 1; break;
break; default:
entry->dpconf.link_nr = 1;
break;
}
} }
link = entry->dpconf.sor.link; link = entry->dpconf.sor.link;
entry->i2c_index += NV_I2C_AUX(0); entry->i2c_index += NV_I2C_AUX(0);
......
...@@ -479,6 +479,7 @@ nouveau_display_create(struct drm_device *dev) ...@@ -479,6 +479,7 @@ nouveau_display_create(struct drm_device *dev)
if (nouveau_modeset != 2 && drm->vbios.dcb.entries) { if (nouveau_modeset != 2 && drm->vbios.dcb.entries) {
static const u16 oclass[] = { static const u16 oclass[] = {
GM204_DISP,
GM107_DISP, GM107_DISP,
GK110_DISP, GK110_DISP,
GK104_DISP, GK104_DISP,
......
...@@ -266,6 +266,7 @@ nv50_core_create(struct nvif_object *disp, u64 syncbuf, struct nv50_mast *core) ...@@ -266,6 +266,7 @@ nv50_core_create(struct nvif_object *disp, u64 syncbuf, struct nv50_mast *core)
.pushbuf = 0xb0007d00, .pushbuf = 0xb0007d00,
}; };
static const u32 oclass[] = { static const u32 oclass[] = {
GM204_DISP_CORE_CHANNEL_DMA,
GM107_DISP_CORE_CHANNEL_DMA, GM107_DISP_CORE_CHANNEL_DMA,
GK110_DISP_CORE_CHANNEL_DMA, GK110_DISP_CORE_CHANNEL_DMA,
GK104_DISP_CORE_CHANNEL_DMA, GK104_DISP_CORE_CHANNEL_DMA,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment