• Imre Deak's avatar
    drm/i915/fb: Fold modifier CCS type/tiling attribute to plane caps · 10a657dd
    Imre Deak authored
    By using the modifier plane capability flags to encode the modifiers'
    CCS type and tiling attributes, it becomes simpler to the check for
    any of these capabilities when providing the list of supported
    modifiers.
    
    This also allows distinguishing modifiers on future platforms where
    platforms with the same display version support different modifiers. An
    example is DG2 and ADLP, both being D13, where DG2 supports only F and X
    tiling, while ADLP supports only Y and X tiling. With the
    INTEL_PLANE_CAP_TILING_* flags added in this patch we can provide
    the correct modifiers for each platform.
    
    v2:
    - Define PLANE_HAS_* with macros instead of an enum. (Jani)
    - Rename PLANE_HAS_*_ANY to PLANE_HAS_*_MASK. (Jani)
    - Rename PLANE_HAS_* to INTEL_PLANE_CAP_*.
    - Set the CCS_RC_CC cap only for DISPLAY_VER >= 12.
    - Set the TILING_Y cap only for DISPLAY_VER < 13 || ADLP.
    - Simplify the SKL plane cap display version checks and move them
      to a separate function.
    
    Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211027125150.2891371-1-imre.deak@intel.com
    10a657dd
skl_universal_plane.c 63.5 KB