drm/nouveau: Use lazy fence waits when doing software interchannel sync.
authorFrancisco Jerez <currojerez@riseup.net>
Thu, 14 Oct 2010 19:55:23 +0000 (21:55 +0200)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 3 Dec 2010 05:06:33 +0000 (15:06 +1000)
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_fence.c

index 5f9f66f350674527c844569c6ee9d86289e383e1..0a22955998e81a36b273556cf5223c083fd98b51 100644 (file)
@@ -390,7 +390,7 @@ nouveau_fence_sync(struct nouveau_fence *fence,
        if (!sema) {
                /* Early card or broken userspace, fall back to
                 * software sync. */
-               return nouveau_fence_wait(fence, NULL, false, false);
+               return nouveau_fence_wait(fence, NULL, true, false);
        }
 
        /* try to take chan's mutex, if we can't take it right away
@@ -399,7 +399,7 @@ nouveau_fence_sync(struct nouveau_fence *fence,
         */
        if (!mutex_trylock(&chan->mutex)) {
                free_semaphore(&sema->ref);
-               return nouveau_fence_wait(fence, NULL, false, false);
+               return nouveau_fence_wait(fence, NULL, true, false);
        }
 
        /* Make wchan wait until it gets signalled */