diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2012-08-14 14:53:51 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-10-03 13:13:04 +1000 |
commit | 503b0f1cd66c54dd88e644fa1a521ebd764bf54e (patch) | |
tree | e22a7eaa0d517adfa4225fe7c3fdb89318020394 /drivers/gpu/drm/nouveau/nouveau_chan.c | |
parent | 72a148277701acf56bcec486a1124499600812e1 (diff) | |
download | op-kernel-dev-503b0f1cd66c54dd88e644fa1a521ebd764bf54e.zip op-kernel-dev-503b0f1cd66c54dd88e644fa1a521ebd764bf54e.tar.gz |
drm/nouveau/fifo: separate object classes for dma channels
Future code will use the object class rather than chipset checks in order to
identify available channel features.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_chan.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_chan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.c b/drivers/gpu/drm/nouveau/nouveau_chan.c index 62c7edf..cf61dc0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -221,7 +221,7 @@ static int nouveau_channel_dma(struct nouveau_drm *drm, struct nouveau_cli *cli, u32 parent, u32 handle, struct nouveau_channel **pchan) { - static const u16 oclasses[] = { 0x006e, 0 }; + static const u16 oclasses[] = { 0x406e, 0x176e, 0x006e, 0x006b, 0 }; const u16 *oclass = oclasses; struct nv_channel_dma_class args; struct nouveau_channel *chan; @@ -305,7 +305,8 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) } /* initialise dma tracking parameters */ - switch (nv_hclass(chan->object) & 0xffff) { + switch (nv_hclass(chan->object) & 0x00ff) { + case 0x006b: case 0x006e: chan->user_put = 0x40; chan->user_get = 0x44; |