nv50: context info for chipset 0xa0

main
Ben Skeggs 2009-02-15 21:52:19 +10:00
parent 7e5c512104
commit a4ac60a102
2 changed files with 6168 additions and 1 deletions

View File

@ -112,6 +112,9 @@ nv50_graph_init_ctxctl(struct drm_device *dev)
case 0x98: case 0x98:
voodoo = nv98_ctxprog; voodoo = nv98_ctxprog;
break; break;
case 0xa0:
voodoo = nva0_ctxprog;
break;
case 0xaa: case 0xaa:
voodoo = nvaa_ctxprog; voodoo = nvaa_ctxprog;
break; break;
@ -210,6 +213,9 @@ nv50_graph_create_context(struct nouveau_channel *chan)
case 0x98: case 0x98:
ctxvals = nv98_ctxvals; ctxvals = nv98_ctxvals;
break; break;
case 0xa0:
ctxvals = nva0_ctxvals;
break;
case 0xaa: case 0xaa:
ctxvals = nvaa_ctxvals; ctxvals = nvaa_ctxvals;
break; break;
@ -241,7 +247,7 @@ nv50_graph_create_context(struct nouveau_channel *chan)
} }
INSTANCE_WR(ctx, 0x00000/4, chan->ramin->instance >> 12); INSTANCE_WR(ctx, 0x00000/4, chan->ramin->instance >> 12);
if (dev_priv->chipset == 0xaa) if ((dev_priv->chipset & 0xf0) == 0xa0)
INSTANCE_WR(ctx, 0x00004/4, 0x00000002); INSTANCE_WR(ctx, 0x00004/4, 0x00000002);
else else
INSTANCE_WR(ctx, 0x0011c/4, 0x00000002); INSTANCE_WR(ctx, 0x0011c/4, 0x00000002);

File diff suppressed because it is too large Load Diff