summaryrefslogtreecommitdiff
path: root/shared-core/nv04_fifo.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-11-15 15:04:19 +1100
committerDave Airlie <airlied@linux.ie>2007-11-15 15:04:19 +1100
commitf0fe478c1587780690edc465d957a762e02acc8a (patch)
treede129251264e7c4fa5c8c7119583dc18af9a3fab /shared-core/nv04_fifo.c
parente1bc147ac9aa8ac2ac271b0a21f4138b17875ce5 (diff)
parent62cdc6dbb3545d21bc3a68987d0781f277ae6ee4 (diff)
Merge branch 'master' into modesetting-101
Conflicts: shared-core/i915_dma.c tests/ttmtest/src/ttmtest.c
Diffstat (limited to 'shared-core/nv04_fifo.c')
-rw-r--r--shared-core/nv04_fifo.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/shared-core/nv04_fifo.c b/shared-core/nv04_fifo.c
index d172302c..230c8e72 100644
--- a/shared-core/nv04_fifo.c
+++ b/shared-core/nv04_fifo.c
@@ -36,6 +36,15 @@
#define NV04_RAMFC__SIZE 32
int
+nv04_fifo_channel_id(struct drm_device *dev)
+{
+ struct drm_nouveau_private *dev_priv = dev->dev_private;
+
+ return (NV_READ(NV03_PFIFO_CACHE1_PUSH1) &
+ NV03_PFIFO_CACHE1_PUSH1_CHID_MASK);
+}
+
+int
nv04_fifo_create_context(struct nouveau_channel *chan)
{
struct drm_device *dev = chan->dev;
@@ -84,7 +93,8 @@ nv04_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, (1<<8) | 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));