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.koe...@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.vet...@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.
> -      *
> -      * This callback is optional.
>        */
>       signed long (*wait)(struct dma_fence *fence,
>                           bool intr, signed long timeout);
> -- 
> 2.25.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

Reply via email to