• Marek Szyprowski's avatar
    drm: add generic zpos property · 44d1240d
    Marek Szyprowski authored
    version 8:
    - move drm_blend.o from drm-y to drm_kms_helper-y to avoid
      EXPORT_SYMBOL(drm_atomic_helper_normalize_zpos)
    - remove dead function declarations in drm_crtc.h
    
    version 7:
    - remove useless EXPORT_SYMBOL()
    - better z-order wording in Documentation
    
    version 6:
    - add zpos in gpu documentation file
    - merge Ville patch about zpos initial value and API improvement.
      I have split Ville patch between zpos core and drivers
    
    version 5:
    - remove zpos range check and comeback to 0 to N-1
      normalization algorithm
    
    version 4:
    - make sure that normalized zpos value is stay
      in the defined property range and warn user if not
    
    This patch adds support for generic plane's zpos property property with
    well-defined semantics:
    - added zpos properties to plane and plane state structures
    - added helpers for normalizing zpos properties of given set of planes
    - well defined semantics: planes are sorted by zpos values and then plane
      id value if zpos equals
    
    Normalized zpos values are calculated automatically when generic
    muttable zpos property has been initialized. Drivers can simply use
    plane_state->normalized_zpos in their atomic_check and/or plane_update
    callbacks without any additional calls to DRM core.
    Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    
    Compare to Marek's original patch zpos property is now specific to each
    plane and no more to the core.
    Normalize function take care of the range of per plane defined range
    before set normalized_zpos.
    Signed-off-by: default avatarBenjamin Gaignard <benjamin.gaignard@linaro.org>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Tested-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    
    Cc: Inki Dae <inki.dae@samsung.com>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
    Cc: Joonyoung Shim <jy0922.shim@samsung.com>
    Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
    Cc: Andrzej Hajda <a.hajda@samsung.com>
    Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
    Cc: Gustavo Padovan <gustavo@padovan.org>
    Cc: vincent.abriou@st.com
    Cc: fabien.dessenne@st.com
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    44d1240d
drm_atomic_helper.c 97.1 KB