Loading drivers/gpu/drm/nouveau/nouveau_bo.c +1 −1 Original line number Diff line number Diff line Loading @@ -970,7 +970,7 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr, } mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING); ret = nouveau_fence_sync(nouveau_bo(bo), chan, true); ret = nouveau_fence_sync(nouveau_bo(bo), chan, true, intr); if (ret == 0) { ret = drm->ttm.move(chan, bo, &bo->mem, new_mem); if (ret == 0) { Loading drivers/gpu/drm/nouveau/nouveau_display.c +2 −2 Original line number Diff line number Diff line Loading @@ -658,7 +658,7 @@ nouveau_page_flip_emit(struct nouveau_channel *chan, spin_unlock_irqrestore(&dev->event_lock, flags); /* Synchronize with the old framebuffer */ ret = nouveau_fence_sync(old_bo, chan, false); ret = nouveau_fence_sync(old_bo, chan, false, false); if (ret) goto fail; Loading Loading @@ -722,7 +722,7 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, goto fail_unpin; /* synchronise rendering channel with the kernel's channel */ ret = nouveau_fence_sync(new_bo, chan, false); ret = nouveau_fence_sync(new_bo, chan, false, true); if (ret) { ttm_bo_unreserve(&new_bo->bo); goto fail_unpin; Loading drivers/gpu/drm/nouveau/nouveau_fence.c +6 −8 Original line number Diff line number Diff line Loading @@ -226,12 +226,10 @@ nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan) if (priv->uevent) fence_init(&fence->base, &nouveau_fence_ops_uevent, &fctx->lock, priv->context_base + chan->chid, ++fctx->sequence); &fctx->lock, fctx->context, ++fctx->sequence); else fence_init(&fence->base, &nouveau_fence_ops_legacy, &fctx->lock, priv->context_base + chan->chid, ++fctx->sequence); &fctx->lock, fctx->context, ++fctx->sequence); trace_fence_emit(&fence->base); ret = fctx->emit(fence); Loading Loading @@ -342,7 +340,7 @@ nouveau_fence_wait(struct nouveau_fence *fence, bool lazy, bool intr) } int nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool exclusive) nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool exclusive, bool intr) { struct nouveau_fence_chan *fctx = chan->fence; struct fence *fence; Loading @@ -369,7 +367,7 @@ nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool e prev = f->channel; if (!prev || (prev != chan && (ret = fctx->sync(f, prev, chan)))) ret = fence_wait(fence, true); ret = fence_wait(fence, intr); return ret; } Loading @@ -387,8 +385,8 @@ nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool e if (f) prev = f->channel; if (!prev || (ret = fctx->sync(f, prev, chan))) ret = fence_wait(fence, true); if (!prev || (prev != chan && (ret = fctx->sync(f, prev, chan)))) ret = fence_wait(fence, intr); if (ret) break; Loading drivers/gpu/drm/nouveau/nouveau_fence.h +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ int nouveau_fence_emit(struct nouveau_fence *, struct nouveau_channel *); bool nouveau_fence_done(struct nouveau_fence *); void nouveau_fence_work(struct fence *, void (*)(void *), void *); int nouveau_fence_wait(struct nouveau_fence *, bool lazy, bool intr); int nouveau_fence_sync(struct nouveau_bo *, struct nouveau_channel *, bool exclusive); int nouveau_fence_sync(struct nouveau_bo *, struct nouveau_channel *, bool exclusive, bool intr); struct nouveau_fence_chan { spinlock_t lock; Loading drivers/gpu/drm/nouveau/nouveau_gem.c +1 −1 Original line number Diff line number Diff line Loading @@ -459,7 +459,7 @@ validate_list(struct nouveau_channel *chan, struct nouveau_cli *cli, return ret; } ret = nouveau_fence_sync(nvbo, chan, !!b->write_domains); ret = nouveau_fence_sync(nvbo, chan, !!b->write_domains, true); if (unlikely(ret)) { if (ret != -ERESTARTSYS) NV_PRINTK(error, cli, "fail post-validate sync\n"); Loading Loading
drivers/gpu/drm/nouveau/nouveau_bo.c +1 −1 Original line number Diff line number Diff line Loading @@ -970,7 +970,7 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr, } mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING); ret = nouveau_fence_sync(nouveau_bo(bo), chan, true); ret = nouveau_fence_sync(nouveau_bo(bo), chan, true, intr); if (ret == 0) { ret = drm->ttm.move(chan, bo, &bo->mem, new_mem); if (ret == 0) { Loading
drivers/gpu/drm/nouveau/nouveau_display.c +2 −2 Original line number Diff line number Diff line Loading @@ -658,7 +658,7 @@ nouveau_page_flip_emit(struct nouveau_channel *chan, spin_unlock_irqrestore(&dev->event_lock, flags); /* Synchronize with the old framebuffer */ ret = nouveau_fence_sync(old_bo, chan, false); ret = nouveau_fence_sync(old_bo, chan, false, false); if (ret) goto fail; Loading Loading @@ -722,7 +722,7 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, goto fail_unpin; /* synchronise rendering channel with the kernel's channel */ ret = nouveau_fence_sync(new_bo, chan, false); ret = nouveau_fence_sync(new_bo, chan, false, true); if (ret) { ttm_bo_unreserve(&new_bo->bo); goto fail_unpin; Loading
drivers/gpu/drm/nouveau/nouveau_fence.c +6 −8 Original line number Diff line number Diff line Loading @@ -226,12 +226,10 @@ nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan) if (priv->uevent) fence_init(&fence->base, &nouveau_fence_ops_uevent, &fctx->lock, priv->context_base + chan->chid, ++fctx->sequence); &fctx->lock, fctx->context, ++fctx->sequence); else fence_init(&fence->base, &nouveau_fence_ops_legacy, &fctx->lock, priv->context_base + chan->chid, ++fctx->sequence); &fctx->lock, fctx->context, ++fctx->sequence); trace_fence_emit(&fence->base); ret = fctx->emit(fence); Loading Loading @@ -342,7 +340,7 @@ nouveau_fence_wait(struct nouveau_fence *fence, bool lazy, bool intr) } int nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool exclusive) nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool exclusive, bool intr) { struct nouveau_fence_chan *fctx = chan->fence; struct fence *fence; Loading @@ -369,7 +367,7 @@ nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool e prev = f->channel; if (!prev || (prev != chan && (ret = fctx->sync(f, prev, chan)))) ret = fence_wait(fence, true); ret = fence_wait(fence, intr); return ret; } Loading @@ -387,8 +385,8 @@ nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool e if (f) prev = f->channel; if (!prev || (ret = fctx->sync(f, prev, chan))) ret = fence_wait(fence, true); if (!prev || (prev != chan && (ret = fctx->sync(f, prev, chan)))) ret = fence_wait(fence, intr); if (ret) break; Loading
drivers/gpu/drm/nouveau/nouveau_fence.h +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ int nouveau_fence_emit(struct nouveau_fence *, struct nouveau_channel *); bool nouveau_fence_done(struct nouveau_fence *); void nouveau_fence_work(struct fence *, void (*)(void *), void *); int nouveau_fence_wait(struct nouveau_fence *, bool lazy, bool intr); int nouveau_fence_sync(struct nouveau_bo *, struct nouveau_channel *, bool exclusive); int nouveau_fence_sync(struct nouveau_bo *, struct nouveau_channel *, bool exclusive, bool intr); struct nouveau_fence_chan { spinlock_t lock; Loading
drivers/gpu/drm/nouveau/nouveau_gem.c +1 −1 Original line number Diff line number Diff line Loading @@ -459,7 +459,7 @@ validate_list(struct nouveau_channel *chan, struct nouveau_cli *cli, return ret; } ret = nouveau_fence_sync(nvbo, chan, !!b->write_domains); ret = nouveau_fence_sync(nvbo, chan, !!b->write_domains, true); if (unlikely(ret)) { if (ret != -ERESTARTSYS) NV_PRINTK(error, cli, "fail post-validate sync\n"); Loading