diff options
author | Ben Skeggs <skeggsb@gmail.com> | 2007-11-14 05:09:07 +1100 |
---|---|---|
committer | Ben Skeggs <skeggsb@gmail.com> | 2007-11-14 05:09:07 +1100 |
commit | eb5487b9ca1d7ce60d5ddc784089d91cf176f439 (patch) | |
tree | 55309717d95b69223a6c1c815286196c47ccd70c /shared-core/nv10_fifo.c | |
parent | 2370ded79b4176d76cda1ec5f495fd33c2d566ed (diff) | |
parent | 7c1e59fb0c5043d3d369f5feb8e195a6a3da3457 (diff) |
Merge branch 'fifo-cleanup' into upstream-master
Diffstat (limited to 'shared-core/nv10_fifo.c')
-rw-r--r-- | shared-core/nv10_fifo.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/shared-core/nv10_fifo.c b/shared-core/nv10_fifo.c index 45d2603a..6d50b6ca 100644 --- a/shared-core/nv10_fifo.c +++ b/shared-core/nv10_fifo.c @@ -37,6 +37,15 @@ #define NV10_RAMFC__SIZE ((dev_priv->chipset) >= 0x17 ? 64 : 32) int +nv10_fifo_channel_id(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; + + return (NV_READ(NV03_PFIFO_CACHE1_PUSH1) & + NV10_PFIFO_CACHE1_PUSH1_CHID_MASK); +} + +int nv10_fifo_create_context(struct nouveau_channel *chan) { struct drm_device *dev = chan->dev; @@ -87,7 +96,8 @@ nv10_fifo_load_context(struct nouveau_channel *chan) struct drm_nouveau_private *dev_priv = dev->dev_private; uint32_t tmp; - NV_WRITE(NV03_PFIFO_CACHE1_PUSH1 , 0x00000100 | chan->id); + NV_WRITE(NV03_PFIFO_CACHE1_PUSH1, + NV03_PFIFO_CACHE1_PUSH1_DMA | chan->id); NV_WRITE(NV04_PFIFO_CACHE1_DMA_GET , RAMFC_RD(DMA_GET)); NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUT , RAMFC_RD(DMA_PUT)); |