31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 655 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070034.575739538@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

17 Jan, 2019

1 commit

  • The kerneldoc comment for struct dma_fence_array lacks a description
    of the "work" member, leading to this docs-build warning:

    ./include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array'

    Add a description and make the warning go away.

    Signed-off-by: Jonathan Corbet
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20190116153436.3b244cda@lwn.net

    Jonathan Corbet
     

22 Nov, 2017

1 commit

  • Ages ago Rob Clark noted,

    "Currently with fence-array, we have a potential deadlock situation. If
    we fence_add_callback() on an array-fence, the array-fence's lock is
    acquired first, and in it's ->enable_signaling() callback, it will install
    cbs on it's array-member fences, so the array-member's lock is acquired
    second.

    But in the signal path, the array-member's lock is acquired first, and
    the array-fence's lock acquired second."

    Rob proposed either extensive changes to dma-fence to unnest the
    fence-array signaling, or to defer the signaling onto a workqueue. This
    is a more refined version of the later, that should keep the latency
    of the fence signaling to a minimum by using an irq-work, which is
    executed asap.

    Reported-by: Rob Clark
    Suggested-by: Rob Clark
    References: 1476635975-21981-1-git-send-email-robdclark@gmail.com
    Signed-off-by: Chris Wilson
    Cc: Rob Clark
    Cc: Gustavo Padovan
    Cc: Sumit Semwal
    Cc: Christian König
    Reviewed-by: Christian König
    Signed-off-by: Sumit Semwal
    Link: https://patchwork.freedesktop.org/patch/msgid/20171114162719.30958-1-chris@chris-wilson.co.uk

    Chris Wilson
     

18 Mar, 2017

1 commit

  • Add a helper to check if all fences in a fence array are from a given
    context. For convenience, the function can also handle being given a
    non-array fence.

    Signed-off-by: Philipp Zabel
    Reviewed-by: Gustavo Padovan
    Acked-by: Sumit Semwal
    Signed-off-by: Sumit Semwal
    Link: http://patchwork.freedesktop.org/patch/msgid/1489768492-25190-1-git-send-email-p.zabel@pengutronix.de

    Philipp Zabel
     

25 Oct, 2016

1 commit

  • I plan to usurp the short name of struct fence for a core kernel struct,
    and so I need to rename the specialised fence/timeline for DMA
    operations to make room.

    A consensus was reached in
    https://lists.freedesktop.org/archives/dri-devel/2016-July/113083.html
    that making clear this fence applies to DMA operations was a good thing.
    Since then the patch has grown a bit as usage increases, so hopefully it
    remains a good thing!

    (v2...: rebase, rerun spatch)
    v3: Compile on msm, spotted a manual fixup that I broke.
    v4: Try again for msm, sorry Daniel

    coccinelle script:
    @@

    @@
    - struct fence
    + struct dma_fence
    @@

    @@
    - struct fence_ops
    + struct dma_fence_ops
    @@

    @@
    - struct fence_cb
    + struct dma_fence_cb
    @@

    @@
    - struct fence_array
    + struct dma_fence_array
    @@

    @@
    - enum fence_flag_bits
    + enum dma_fence_flag_bits
    @@

    @@
    (
    - fence_init
    + dma_fence_init
    |
    - fence_release
    + dma_fence_release
    |
    - fence_free
    + dma_fence_free
    |
    - fence_get
    + dma_fence_get
    |
    - fence_get_rcu
    + dma_fence_get_rcu
    |
    - fence_put
    + dma_fence_put
    |
    - fence_signal
    + dma_fence_signal
    |
    - fence_signal_locked
    + dma_fence_signal_locked
    |
    - fence_default_wait
    + dma_fence_default_wait
    |
    - fence_add_callback
    + dma_fence_add_callback
    |
    - fence_remove_callback
    + dma_fence_remove_callback
    |
    - fence_enable_sw_signaling
    + dma_fence_enable_sw_signaling
    |
    - fence_is_signaled_locked
    + dma_fence_is_signaled_locked
    |
    - fence_is_signaled
    + dma_fence_is_signaled
    |
    - fence_is_later
    + dma_fence_is_later
    |
    - fence_later
    + dma_fence_later
    |
    - fence_wait_timeout
    + dma_fence_wait_timeout
    |
    - fence_wait_any_timeout
    + dma_fence_wait_any_timeout
    |
    - fence_wait
    + dma_fence_wait
    |
    - fence_context_alloc
    + dma_fence_context_alloc
    |
    - fence_array_create
    + dma_fence_array_create
    |
    - to_fence_array
    + to_dma_fence_array
    |
    - fence_is_array
    + dma_fence_is_array
    |
    - trace_fence_emit
    + trace_dma_fence_emit
    |
    - FENCE_TRACE
    + DMA_FENCE_TRACE
    |
    - FENCE_WARN
    + DMA_FENCE_WARN
    |
    - FENCE_ERR
    + DMA_FENCE_ERR
    )
    (
    ...
    )

    Signed-off-by: Chris Wilson
    Reviewed-by: Gustavo Padovan
    Acked-by: Sumit Semwal
    Acked-by: Christian König
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20161025120045.28839-1-chris@chris-wilson.co.uk

    Chris Wilson