• D
    drm/syncobj: add sync obj wait interface. (v8) · 5e60a10e
    Dave Airlie 提交于
    This interface will allow sync object to be used to back
    Vulkan fences. This API is pretty much the vulkan fence waiting
    API, and I've ported the code from amdgpu.
    
    v2: accept relative timeout, pass remaining time back
    to userspace.
    v3: return to absolute timeouts.
    v4: absolute zero = poll,
        rewrite any/all code to have same operation for arrays
        return -EINVAL for 0 fences.
    v4.1: fixup fences allocation check, use u64_to_user_ptr
    v5: move to sec/nsec, and use timespec64 for calcs.
    v6: use -ETIME and drop the out status flag. (-ETIME
    is suggested by ickle, I can feel a shed painting)
    v7: talked to Daniel/Arnd, use ktime and ns everywhere.
    v8: be more careful in the timeout calculations
        use uint32_t for counter variables so we don't overflow
        graciously handle -ENOINT being returned from dma_fence_wait_timeout
    Signed-off-by: NDave Airlie <airlied@redhat.com>
    Reviewed-by: NJason Ekstrand <jason@jlekstrand.net>
    Acked-by: NChristian König <christian.koenig@amd.com>
    Signed-off-by: NDave Airlie <airlied@redhat.com>
    5e60a10e
drm_ioctl.c 30.0 KB