• Bas Nieuwenhuizen's avatar
    drm/msm: Add syncobj support. · ab723b7a
    Bas Nieuwenhuizen authored
    This
    
    1) Enables core DRM syncobj support.
    2) Adds options to the submission ioctl to wait/signal syncobjs.
    
    Just like the wait fence fd, this does inline waits. Using the
    scheduler would be nice but I believe it is out of scope for
    this work.
    
    Support for timeline syncobjs is implemented and the interface
    is ready for it, but I'm not enabling it yet until there is
    some code for turnip to use it.
    
    The reset is mostly in there because in the presence of waiting
    and signalling the same semaphores, resetting them after
    signalling can become very annoying.
    
    v2:
      - Fixed style issues
      - Removed a cleanup issue in a failure case
      - Moved to a copy_from_user per syncobj
    
    v3:
     - Fixed a missing declaration introduced in v2
     - Reworked to use ERR_PTR/PTR_ERR
     - Simplified failure gotos.
    
    Used by: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2769Signed-off-by: default avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
    Reviewed-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
    Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
    ab723b7a
msm_drm.h 13.9 KB