From ba00c3f2f0c84456ffe9d548823ff4fb8e4e7ed4 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 16 Mar 2016 18:18:17 -0400 Subject: drm/msm: remove fence_cbs This was only used for atomic commit these days. So instead just give atomic it's own work-queue where we can do a block on each bo in turn. Simplifies things a whole bunch and makes the 'struct fence' conversion easier. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_fence.h | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'drivers/gpu/drm/msm/msm_fence.h') diff --git a/drivers/gpu/drm/msm/msm_fence.h b/drivers/gpu/drm/msm/msm_fence.h index 3ed20981fc05..2820781d974a 100644 --- a/drivers/gpu/drm/msm/msm_fence.h +++ b/drivers/gpu/drm/msm/msm_fence.h @@ -27,28 +27,12 @@ struct msm_fence_context { uint32_t last_fence; /* last assigned fence */ uint32_t completed_fence; /* last completed fence */ wait_queue_head_t event; - /* callbacks deferred until bo is inactive: */ - struct list_head fence_cbs; }; struct msm_fence_context * msm_fence_context_alloc(struct drm_device *dev, const char *name); void msm_fence_context_free(struct msm_fence_context *fctx); -/* callback from wq once fence has passed: */ -struct msm_fence_cb { - struct work_struct work; - uint32_t fence; - void (*func)(struct msm_fence_cb *cb); -}; - -void __msm_fence_worker(struct work_struct *work); - -#define INIT_FENCE_CB(_cb, _func) do { \ - INIT_WORK(&(_cb)->work, __msm_fence_worker); \ - (_cb)->func = _func; \ - } while (0) - int msm_wait_fence(struct msm_fence_context *fctx, uint32_t fence, ktime_t *timeout, bool interruptible); int msm_queue_fence_cb(struct msm_fence_context *fctx, -- cgit v1.2.3