>-----Original Message----- >From: Intel-gfx <intel-gfx-boun...@lists.freedesktop.org> On Behalf Of >Daniel Vetter >Sent: Monday, May 11, 2020 5:12 AM >To: LKML <linux-ker...@vger.kernel.org> >Cc: Daniel Vetter <daniel.vet...@ffwll.ch>; Intel Graphics Development ><intel-gfx@lists.freedesktop.org>; DRI Development <dri- >de...@lists.freedesktop.org>; linaro-mm-...@lists.linaro.org; Vetter, Daniel ><daniel.vet...@intel.com>; Sumit Semwal <sumit.sem...@linaro.org>; linux- >me...@vger.kernel.org >Subject: [Intel-gfx] [PATCH 2/3] dma-fence: use default wait function for >mock fences > >No need to micro-optmize when we're waiting in a mocked object ...
Makes sense to me. Acked-by: Michael J. Ruhl <michael.j.r...@intel.com> M >Signed-off-by: Daniel Vetter <daniel.vet...@intel.com> >Cc: Sumit Semwal <sumit.sem...@linaro.org> >Cc: linux-me...@vger.kernel.org >Cc: linaro-mm-...@lists.linaro.org >--- > drivers/dma-buf/st-dma-fence.c | 41 ---------------------------------- > 1 file changed, 41 deletions(-) > >diff --git a/drivers/dma-buf/st-dma-fence.c b/drivers/dma-buf/st-dma- >fence.c >index e593064341c8..8166d2984702 100644 >--- a/drivers/dma-buf/st-dma-fence.c >+++ b/drivers/dma-buf/st-dma-fence.c >@@ -33,50 +33,9 @@ static void mock_fence_release(struct dma_fence *f) > kmem_cache_free(slab_fences, to_mock_fence(f)); > } > >-struct wait_cb { >- struct dma_fence_cb cb; >- struct task_struct *task; >-}; >- >-static void mock_wakeup(struct dma_fence *f, struct dma_fence_cb *cb) >-{ >- wake_up_process(container_of(cb, struct wait_cb, cb)->task); >-} >- >-static long mock_wait(struct dma_fence *f, bool intr, long timeout) >-{ >- const int state = intr ? TASK_INTERRUPTIBLE : >TASK_UNINTERRUPTIBLE; >- struct wait_cb cb = { .task = current }; >- >- if (dma_fence_add_callback(f, &cb.cb, mock_wakeup)) >- return timeout; >- >- while (timeout) { >- set_current_state(state); >- >- if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &f->flags)) >- break; >- >- if (signal_pending_state(state, current)) >- break; >- >- timeout = schedule_timeout(timeout); >- } >- __set_current_state(TASK_RUNNING); >- >- if (!dma_fence_remove_callback(f, &cb.cb)) >- return timeout; >- >- if (signal_pending_state(state, current)) >- return -ERESTARTSYS; >- >- return -ETIME; >-} >- > static const struct dma_fence_ops mock_ops = { > .get_driver_name = mock_name, > .get_timeline_name = mock_name, >- .wait = mock_wait, > .release = mock_fence_release, > }; > >-- >2.26.2 > >_______________________________________________ >Intel-gfx mailing list >Intel-gfx@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx