• Daniel Vetter's avatar
    dma-fence: Allow wait_any_timeout for all fences · 796422f2
    Daniel Vetter authored
    When this was introduced in
    
    commit a519435a
    Author: Christian König <christian.koenig@amd.com>
    Date:   Tue Oct 20 16:34:16 2015 +0200
    
        dma-buf/fence: add fence_wait_any_timeout function v2
    
    there was a restriction added that this only works if the dma-fence
    uses the dma_fence_default_wait hook. Which works for amdgpu, which is
    the only caller. Well, until you share some buffers with e.g. i915,
    then you get an -EINVAL.
    
    But there's really no reason for this, because all drivers must
    support callbacks. The special ->wait hook is only as an optimization;
    if the driver needs to create a worker thread for an active callback,
    then it can avoid to do that if it knows that there's a process
    context available already. So ->wait is just an optimization, just
    using the logic in dma_fence_default_wait() should work for all
    drivers.
    
    Let's remove this restriction.
    Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Cc: Sumit Semwal <sumit.semwal@linaro.org>
    Cc: Gustavo Padovan <gustavo@padovan.org>
    Cc: linux-media@vger.kernel.org
    Cc: linaro-mm-sig@lists.linaro.org
    Cc: Christian König <christian.koenig@amd.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180503142603.28513-4-daniel.vetter@ffwll.ch
    796422f2
dma-fence.c 15.7 KB