This patchset adds a descriptor table for all modifiers used by i915, which deduplicates the listing of supported modifiers during plane initialization and during checking for a modifier support on a plane. This also simplifies getting some modifier attributes like checking if a plane is a CCS modifier. The motivation is to make it easier to add and maintain new CCS modifier sets, which will be needed for at least ADL-P and another upcoming platform. Tested with igt/kms_plane,kms_ccs on CHV,HSW,TGL,ADLP. The patches are also avaiable at: https://github.com/ideak/linux/commits/modifier-descriptors Imre Deak (11): drm/i915: Add a table with a descriptor for all i915 modifiers drm/i915: Move intel_get_format_info() to intel_fb.c drm/i915: Add tiling attribute to the modifier descriptor drm/i915: Simplify the modifier check for interlaced scanout support drm/i915: Unexport is_semiplanar_uv_plane() drm/i915: Move intel_format_info_is_yuv_semiplanar() to intel_fb.c drm/i915: Add a platform independent way to get the RC CCS CC plane drm/i915: Handle CCS CC planes separately from CCS control planes drm/i915: Add a platform independent way to check for CCS control planes drm/i915: Move is_ccs_modifier() to intel_fb.c drm/i915: Add functions to check for RC CCS CC and MC CCS modifiers .../gpu/drm/i915/display/intel_atomic_plane.c | 1 + drivers/gpu/drm/i915/display/intel_cursor.c | 19 +- drivers/gpu/drm/i915/display/intel_display.c | 150 +---- drivers/gpu/drm/i915/display/intel_display.h | 4 - .../drm/i915/display/intel_display_types.h | 17 - drivers/gpu/drm/i915/display/intel_fb.c | 536 ++++++++++++++++-- drivers/gpu/drm/i915/display/intel_fb.h | 25 +- drivers/gpu/drm/i915/display/intel_sprite.c | 35 +- drivers/gpu/drm/i915/display/skl_scaler.c | 1 + .../drm/i915/display/skl_universal_plane.c | 165 +----- drivers/gpu/drm/i915/i915_drv.h | 3 + drivers/gpu/drm/i915/intel_pm.c | 1 + 12 files changed, 569 insertions(+), 388 deletions(-) -- 2.27.0