aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs2008-04-06 22:05:51 -0500
committerBen Skeggs2008-04-06 22:05:51 -0500
commitc12b60b5094fe97db60cd0f18fafd1720679bd38 (patch)
tree6b593457c6700d7a2e0769a3c906e6a2f76ef019 /linux-core
parente89710bef7691e4e9d0bc7d427542bfae6ce4258 (diff)
downloadexternal-libdrm-c12b60b5094fe97db60cd0f18fafd1720679bd38.tar.gz
external-libdrm-c12b60b5094fe97db60cd0f18fafd1720679bd38.tar.xz
external-libdrm-c12b60b5094fe97db60cd0f18fafd1720679bd38.zip
nouveau: enable m2mf for tt<->vram moves, fix fence_poll
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/nouveau_bo.c3
-rw-r--r--linux-core/nouveau_fence.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/linux-core/nouveau_bo.c b/linux-core/nouveau_bo.c
index 7a899769..fcda3037 100644
--- a/linux-core/nouveau_bo.c
+++ b/linux-core/nouveau_bo.c
@@ -259,12 +259,11 @@ nouveau_bo_move(struct drm_buffer_object *bo, int evict, int no_wait,
259 return drm_bo_move_memcpy(bo, evict, no_wait, new_mem); 259 return drm_bo_move_memcpy(bo, evict, no_wait, new_mem);
260 } 260 }
261 else { 261 else {
262// if (nouveau_bo_move_m2mf(bo, evict, no_wait, new_mem)) 262 if (nouveau_bo_move_m2mf(bo, evict, no_wait, new_mem))
263 return drm_bo_move_memcpy(bo, evict, no_wait, new_mem); 263 return drm_bo_move_memcpy(bo, evict, no_wait, new_mem);
264 } 264 }
265 265
266 if (0) { 266 if (0) {
267 nouveau_bo_move_m2mf(bo, 0, 0, NULL);
268 nouveau_bo_move_gart(bo, 0, 0, NULL); 267 nouveau_bo_move_gart(bo, 0, 0, NULL);
269 } 268 }
270 269
diff --git a/linux-core/nouveau_fence.c b/linux-core/nouveau_fence.c
index 59dcf7d0..4ad51ae4 100644
--- a/linux-core/nouveau_fence.c
+++ b/linux-core/nouveau_fence.c
@@ -80,12 +80,11 @@ nouveau_fence_poll(struct drm_device *dev, uint32_t class, uint32_t waiting_type
80 struct drm_nouveau_private *dev_priv = dev->dev_private; 80 struct drm_nouveau_private *dev_priv = dev->dev_private;
81 struct drm_fence_class_manager *fc = &dev->fm.fence_class[class]; 81 struct drm_fence_class_manager *fc = &dev->fm.fence_class[class];
82 struct nouveau_channel *chan = dev_priv->fifos[class]; 82 struct nouveau_channel *chan = dev_priv->fifos[class];
83 uint32_t pending_types = 0;
84 83
85 DRM_DEBUG("class=%d\n", class); 84 DRM_DEBUG("class=%d\n", class);
86 DRM_DEBUG("pending: 0x%08x 0x%08x\n", waiting_types, fc->waiting_types); 85 DRM_DEBUG("pending: 0x%08x 0x%08x\n", waiting_types, fc->waiting_types);
87 86
88 if (pending_types) { 87 if (waiting_types & DRM_FENCE_TYPE_EXE) {
89 uint32_t sequence = NV_READ(chan->ref_cnt); 88 uint32_t sequence = NV_READ(chan->ref_cnt);
90 89
91 DRM_DEBUG("got 0x%08x\n", sequence); 90 DRM_DEBUG("got 0x%08x\n", sequence);