summaryrefslogtreecommitdiff
path: root/linux-core/nouveau_fence.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2007-11-14 04:05:48 +1100
committerBen Skeggs <skeggsb@gmail.com>2007-11-14 04:09:53 +1100
commit7246a33dd104903bc9227628270712ea9e6168d8 (patch)
treed31437290dd81fc7257a1437e57931fbfe834514 /linux-core/nouveau_fence.c
parentd0904f0f2b87c725d3e67060419c445259bd4a5e (diff)
nouveau: store user control reg offsets in channel struct
Diffstat (limited to 'linux-core/nouveau_fence.c')
-rw-r--r--linux-core/nouveau_fence.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/linux-core/nouveau_fence.c b/linux-core/nouveau_fence.c
index b3e81a89..4e624a7a 100644
--- a/linux-core/nouveau_fence.c
+++ b/linux-core/nouveau_fence.c
@@ -79,6 +79,7 @@ nouveau_fence_perform_flush(struct drm_device *dev, uint32_t class)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
struct drm_fence_class_manager *fc = &dev->fm.fence_class[class];
+ struct nouveau_channel *chan = dev_priv->fifos[class];
uint32_t pending_types = 0;
DRM_DEBUG("class=%d\n", class);
@@ -89,7 +90,7 @@ nouveau_fence_perform_flush(struct drm_device *dev, uint32_t class)
fc->pending_flush);
if (pending_types) {
- uint32_t sequence = NV_READ(NV03_FIFO_REGS(class) + 0x48);
+ uint32_t sequence = NV_READ(chan->ref_cnt);
DRM_DEBUG("got 0x%08x\n", sequence);
drm_fence_handler(dev, class, sequence, pending_types, 0);