Loading drivers/gpu/drm/nouveau/nouveau_bo.c +1 −1 Original line number Diff line number Diff line Loading @@ -561,7 +561,7 @@ nouveau_bo_move_accel_cleanup(struct nouveau_channel *chan, struct nouveau_fence *fence = NULL; int ret; ret = nouveau_fence_new(chan, &fence); ret = nouveau_fence_new(chan, false, &fence); if (ret) return ret; Loading drivers/gpu/drm/nouveau/nouveau_chan.c +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ nouveau_channel_idle(struct nouveau_channel *chan) struct nouveau_fence *fence = NULL; int ret; ret = nouveau_fence_new(chan, &fence); ret = nouveau_fence_new(chan, false, &fence); if (!ret) { ret = nouveau_fence_wait(fence, false, false); nouveau_fence_unref(&fence); Loading drivers/gpu/drm/nouveau/nouveau_display.c +1 −1 Original line number Diff line number Diff line Loading @@ -540,7 +540,7 @@ nouveau_page_flip_emit(struct nouveau_channel *chan, } FIRE_RING (chan); ret = nouveau_fence_new(chan, pfence); ret = nouveau_fence_new(chan, false, pfence); if (ret) goto fail; Loading drivers/gpu/drm/nouveau/nouveau_fence.c +4 −5 Original line number Diff line number Diff line Loading @@ -41,8 +41,6 @@ nouveau_fence_context_del(struct nouveau_fence_chan *fctx) struct nouveau_fence *fence, *fnext; spin_lock(&fctx->lock); list_for_each_entry_safe(fence, fnext, &fctx->pending, head) { if (fence->work) fence->work(fence->priv, false); fence->channel = NULL; list_del(&fence->head); nouveau_fence_unref(&fence); Loading @@ -69,8 +67,6 @@ nouveau_fence_update(struct nouveau_channel *chan) if (fctx->read(chan) < fence->sequence) break; if (fence->work) fence->work(fence->priv, true); fence->channel = NULL; list_del(&fence->head); nouveau_fence_unref(&fence); Loading Loading @@ -256,7 +252,8 @@ nouveau_fence_ref(struct nouveau_fence *fence) } int nouveau_fence_new(struct nouveau_channel *chan, struct nouveau_fence **pfence) nouveau_fence_new(struct nouveau_channel *chan, bool sysmem, struct nouveau_fence **pfence) { struct nouveau_fence *fence; int ret = 0; Loading @@ -267,6 +264,8 @@ nouveau_fence_new(struct nouveau_channel *chan, struct nouveau_fence **pfence) fence = kzalloc(sizeof(*fence), GFP_KERNEL); if (!fence) return -ENOMEM; fence->sysmem = sysmem; kref_init(&fence->kref); ret = nouveau_fence_emit(fence, chan); Loading drivers/gpu/drm/nouveau/nouveau_fence.h +6 −12 Original line number Diff line number Diff line Loading @@ -7,15 +7,15 @@ struct nouveau_fence { struct list_head head; struct kref kref; bool sysmem; struct nouveau_channel *channel; unsigned long timeout; u32 sequence; void (*work)(void *priv, bool signalled); void *priv; }; int nouveau_fence_new(struct nouveau_channel *, struct nouveau_fence **); int nouveau_fence_new(struct nouveau_channel *, bool sysmem, struct nouveau_fence **); struct nouveau_fence * nouveau_fence_ref(struct nouveau_fence *); void nouveau_fence_unref(struct nouveau_fence **); Loading Loading @@ -79,24 +79,18 @@ int nouveau_flip_complete(void *chan); struct nv84_fence_chan { struct nouveau_fence_chan base; struct nouveau_vma vma; struct nouveau_vma vma_gart; struct nouveau_vma dispc_vma[4]; }; struct nv84_fence_priv { struct nouveau_fence_priv base; struct nouveau_bo *bo; struct nouveau_bo *bo_gart; u32 *suspend; }; u64 nv84_fence_crtc(struct nouveau_channel *, int); int nv84_fence_emit(struct nouveau_fence *); int nv84_fence_sync(struct nouveau_fence *, struct nouveau_channel *, struct nouveau_channel *); u32 nv84_fence_read(struct nouveau_channel *); int nv84_fence_context_new(struct nouveau_channel *); void nv84_fence_context_del(struct nouveau_channel *); bool nv84_fence_suspend(struct nouveau_drm *); void nv84_fence_resume(struct nouveau_drm *); void nv84_fence_destroy(struct nouveau_drm *); #endif Loading
drivers/gpu/drm/nouveau/nouveau_bo.c +1 −1 Original line number Diff line number Diff line Loading @@ -561,7 +561,7 @@ nouveau_bo_move_accel_cleanup(struct nouveau_channel *chan, struct nouveau_fence *fence = NULL; int ret; ret = nouveau_fence_new(chan, &fence); ret = nouveau_fence_new(chan, false, &fence); if (ret) return ret; Loading
drivers/gpu/drm/nouveau/nouveau_chan.c +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ nouveau_channel_idle(struct nouveau_channel *chan) struct nouveau_fence *fence = NULL; int ret; ret = nouveau_fence_new(chan, &fence); ret = nouveau_fence_new(chan, false, &fence); if (!ret) { ret = nouveau_fence_wait(fence, false, false); nouveau_fence_unref(&fence); Loading
drivers/gpu/drm/nouveau/nouveau_display.c +1 −1 Original line number Diff line number Diff line Loading @@ -540,7 +540,7 @@ nouveau_page_flip_emit(struct nouveau_channel *chan, } FIRE_RING (chan); ret = nouveau_fence_new(chan, pfence); ret = nouveau_fence_new(chan, false, pfence); if (ret) goto fail; Loading
drivers/gpu/drm/nouveau/nouveau_fence.c +4 −5 Original line number Diff line number Diff line Loading @@ -41,8 +41,6 @@ nouveau_fence_context_del(struct nouveau_fence_chan *fctx) struct nouveau_fence *fence, *fnext; spin_lock(&fctx->lock); list_for_each_entry_safe(fence, fnext, &fctx->pending, head) { if (fence->work) fence->work(fence->priv, false); fence->channel = NULL; list_del(&fence->head); nouveau_fence_unref(&fence); Loading @@ -69,8 +67,6 @@ nouveau_fence_update(struct nouveau_channel *chan) if (fctx->read(chan) < fence->sequence) break; if (fence->work) fence->work(fence->priv, true); fence->channel = NULL; list_del(&fence->head); nouveau_fence_unref(&fence); Loading Loading @@ -256,7 +252,8 @@ nouveau_fence_ref(struct nouveau_fence *fence) } int nouveau_fence_new(struct nouveau_channel *chan, struct nouveau_fence **pfence) nouveau_fence_new(struct nouveau_channel *chan, bool sysmem, struct nouveau_fence **pfence) { struct nouveau_fence *fence; int ret = 0; Loading @@ -267,6 +264,8 @@ nouveau_fence_new(struct nouveau_channel *chan, struct nouveau_fence **pfence) fence = kzalloc(sizeof(*fence), GFP_KERNEL); if (!fence) return -ENOMEM; fence->sysmem = sysmem; kref_init(&fence->kref); ret = nouveau_fence_emit(fence, chan); Loading
drivers/gpu/drm/nouveau/nouveau_fence.h +6 −12 Original line number Diff line number Diff line Loading @@ -7,15 +7,15 @@ struct nouveau_fence { struct list_head head; struct kref kref; bool sysmem; struct nouveau_channel *channel; unsigned long timeout; u32 sequence; void (*work)(void *priv, bool signalled); void *priv; }; int nouveau_fence_new(struct nouveau_channel *, struct nouveau_fence **); int nouveau_fence_new(struct nouveau_channel *, bool sysmem, struct nouveau_fence **); struct nouveau_fence * nouveau_fence_ref(struct nouveau_fence *); void nouveau_fence_unref(struct nouveau_fence **); Loading Loading @@ -79,24 +79,18 @@ int nouveau_flip_complete(void *chan); struct nv84_fence_chan { struct nouveau_fence_chan base; struct nouveau_vma vma; struct nouveau_vma vma_gart; struct nouveau_vma dispc_vma[4]; }; struct nv84_fence_priv { struct nouveau_fence_priv base; struct nouveau_bo *bo; struct nouveau_bo *bo_gart; u32 *suspend; }; u64 nv84_fence_crtc(struct nouveau_channel *, int); int nv84_fence_emit(struct nouveau_fence *); int nv84_fence_sync(struct nouveau_fence *, struct nouveau_channel *, struct nouveau_channel *); u32 nv84_fence_read(struct nouveau_channel *); int nv84_fence_context_new(struct nouveau_channel *); void nv84_fence_context_del(struct nouveau_channel *); bool nv84_fence_suspend(struct nouveau_drm *); void nv84_fence_resume(struct nouveau_drm *); void nv84_fence_destroy(struct nouveau_drm *); #endif