• Matt Roper's avatar
    drm: Add primary plane helpers (v3) · c103d1cf
    Matt Roper authored
    When we expose non-overlay planes to userspace, they will become
    accessible via standard userspace plane API's.  We should be able to
    handle the standard plane operations against primary planes in a generic
    way via the modeset handler.
    
    Drivers that can program primary planes more efficiently, that want to
    use their own primary plane structure to track additional information,
    or that don't have the limitations assumed by the helpers are free to
    provide their own implementation of some or all of these handlers.
    
    v3: Tweak kerneldoc formatting slightly to avoid ugliness
    v2:
     - Move plane helpers to a new file (drm_plane_helper.c)
     - Tighten checks on update handler (check for scaling, CRTC coverage,
       subpixel positioning)
     - Pass proper panning parameters to modeset interface
     - Disallow disabling primary plane (and thus CRTC) if other planes are
       still active on the CRTC.
     - Use a minimal format list that should work on all hardware/drivers.
       Drivers may call this function with a more accurate plane list to
       enable additional formats they can support.
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Reviewed-by: default avatarRob Clark <robdclark@gmail.com>
    c103d1cf
drm_plane_helper.c 10.3 KB