]> www.infradead.org Git - nvme.git/commit
drm/i915: Introduce fb->min_alignment
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 12 Jun 2024 20:47:07 +0000 (23:47 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 24 Jun 2024 14:12:10 +0000 (17:12 +0300)
commitc7bfd98f00f954e40356cbd80db2dc1992230e94
tree1027da6c4947ecaf3727fc36fa734d6dca6c8c5d
parent195b7a0d2ebe5672a58210992f3629d19d5a95ae
drm/i915: Introduce fb->min_alignment

Different planes could have different alignment requirements
even for the same format/modifier. Collect the alignment
requirements across all planes capable of scanning out the
fb such that the alignment is satisfactory to all those
planes.

So far this was sort of handled by making sure intel_surf_alignment()
declares the superset of all planes' alignment requirements,
but maintaining that manually is annoying. So we're going to move
towards each plane declaring only its own requirements, and thus
we need code to generate the superset.

v2: Drop the borked per-plane vma optimization (Imre)
    Assert that the plane's declared alignment is POT (Imre)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240612204712.31404-5-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb_pin.c
drivers/gpu/drm/i915/display/intel_fbdev.c