lkml.org 
[lkml]   [2020]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [Intel-gfx] [PATCH 2/3] dma-fence: use default wait function for mock fences
    Date
    >-----Original Message-----
    >From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
    >Daniel Vetter
    >Sent: Monday, May 11, 2020 5:12 AM
    >To: LKML <linux-kernel@vger.kernel.org>
    >Cc: Daniel Vetter <daniel.vetter@ffwll.ch>; Intel Graphics Development
    ><intel-gfx@lists.freedesktop.org>; DRI Development <dri-
    >devel@lists.freedesktop.org>; linaro-mm-sig@lists.linaro.org; Vetter, Daniel
    ><daniel.vetter@intel.com>; Sumit Semwal <sumit.semwal@linaro.org>; linux-
    >media@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.ruhl@intel.com>

    M

    >Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
    >Cc: Sumit Semwal <sumit.semwal@linaro.org>
    >Cc: linux-media@vger.kernel.org
    >Cc: linaro-mm-sig@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

    \
     
     \ /
      Last update: 2020-05-11 20:13    [W:4.146 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site