summaryrefslogtreecommitdiff
path: root/src/nv_dma.h
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2006-11-02 14:52:24 +1100
committerBen Skeggs <darktama@iinet.net.au>2006-11-02 14:52:24 +1100
commitb45aea22a8da69ad4a2493f7f33fa65186a83ba3 (patch)
tree232a5549147259a88396cc97c436a832b162b7b7 /src/nv_dma.h
parente79b0befe92110c1cd2e0e1ae69fced1cd5acba3 (diff)
downloadxorg-driver-xf86-video-nouveau-b45aea22a8da69ad4a2493f7f33fa65186a83ba3.tar.gz
Merge >=NV30-specific EXA code.. hard-disabled pending testing on my C51, and a proper commit message..
Diffstat (limited to 'src/nv_dma.h')
-rw-r--r--src/nv_dma.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nv_dma.h b/src/nv_dma.h
index a21d404..094b119 100644
--- a/src/nv_dma.h
+++ b/src/nv_dma.h
@@ -97,6 +97,11 @@ enum DMASubchannel {
NVDEBUG("\tNVDmaNext: 0x%08x\n", (data)); \
}
+#define NVDmaFloat(pNv, data) { \
+ float f = (data); \
+ NVDmaNext((pNv), *(CARD32*)&f); \
+}
+
#define NVDmaStart(pNv, subchannel, tag, size) { \
if((pNv)->dmaFree <= (size)) \
NVDmaWait(pNv, size); \
@@ -105,6 +110,10 @@ enum DMASubchannel {
(pNv)->dmaFree -= ((size) + 1); \
}
+#define NVDmaStart_NonInc(pNv, subchannel, tag, size) { \
+ NVDmaStart((pNv), (subchannel), (tag)|0x40000000, (size)); \
+}
+
#define NVDmaSetObjectOnSubchannel(pNv, subchannel, object) \
NVDmaStart(pNv, subchannel, 0, 1); \
NVDmaNext(pNv,object);