On Wed, Jul 21, 2021 at 11:21:32AM +0200, Christian König wrote:
This callback is pretty much deprecated and should not be used by new implementations.
Clarify that in the documentation as well.
Signed-off-by: Christian König christian.koenig@amd.com
include/linux/dma-fence.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h index 6ffb4b2c6371..a44e42b86c2a 100644 --- a/include/linux/dma-fence.h +++ b/include/linux/dma-fence.h @@ -214,19 +214,15 @@ struct dma_fence_ops { * Custom wait implementation, defaults to dma_fence_default_wait() if * not set. *
* The dma_fence_default_wait implementation should work for any fence, as long
* as @enable_signaling works correctly. This hook allows drivers to
* have an optimized version for the case where a process context is
* already available, e.g. if @enable_signaling for the general case
* needs to set up a worker thread.
* Deprecated and should not be used by new implementations. Only used
* by existing implementations which need special handling for their
* hardware reset procedure.
I thought the other reason was unreliable interrupts, so waiters had to wake up once per jiffy? So maybe: "... for their hw reset procedure or for handling missed interrupts".
Maybe also add here:
New implementations must have an @enable_signalling and dma_fence_signal() implementation which does not require special handling to make dma_fence_wait() work.
With these:
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
* * Must return -ERESTARTSYS if the wait is intr = true and the wait was * interrupted, and remaining jiffies if fence has signaled, or 0 if wait * timed out. Can also return other error values on custom implementations, * which should be treated as if the fence is signaled. For example a hardware * lockup could be reported like that.
*
*/ signed long (*wait)(struct dma_fence *fence, bool intr, signed long timeout);* This callback is optional.
-- 2.25.1