>-----Original Message----- >From: dri-devel <[email protected]> On Behalf Of >Ruhl, Michael J >Sent: Monday, May 11, 2020 2:13 PM >To: Daniel Vetter <[email protected]>; LKML <linux- >[email protected]> >Cc: Intel Graphics Development <[email protected]>; DRI >Development <[email protected]>; linaro-mm- >[email protected]; Vetter, Daniel <[email protected]>; linux- >[email protected] >Subject: RE: [Intel-gfx] [PATCH 2/3] dma-fence: use default wait function for >mock fences > >>-----Original Message----- >>From: Intel-gfx <[email protected]> On Behalf Of >>Daniel Vetter >>Sent: Monday, May 11, 2020 5:12 AM >>To: LKML <[email protected]> >>Cc: Daniel Vetter <[email protected]>; Intel Graphics Development >><[email protected]>; DRI Development <dri- >>[email protected]>; [email protected]; Vetter, Daniel >><[email protected]>; Sumit Semwal <[email protected]>; >linux- >>[email protected] >>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.
/sigh. Reading Chris comment, I am no longer sure it make sense... Un-ack? m >Acked-by: Michael J. Ruhl <[email protected]> > >M > >>Signed-off-by: Daniel Vetter <[email protected]> >>Cc: Sumit Semwal <[email protected]> >>Cc: [email protected] >>Cc: [email protected] >>--- >> 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 >>[email protected] >>https://lists.freedesktop.org/mailman/listinfo/intel-gfx >_______________________________________________ >dri-devel mailing list >[email protected] >https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
