OSDN Git Service

drm/i915: Simplify CCS and UV plane alignment handling
authorImre Deak <imre.deak@intel.com>
Wed, 21 Apr 2021 17:32:20 +0000 (20:32 +0300)
committerImre Deak <imre.deak@intel.com>
Mon, 26 Apr 2021 14:49:53 +0000 (17:49 +0300)
commit7a6e95f375bb17d917a8213f0cfe9b55b882f342
treefb4dfedc58ae24b48a78308a6b1fff215e0c0d29
parentb83478b698141cc2d1fef78b167d1c2348a9125c
drm/i915: Simplify CCS and UV plane alignment handling

We can handle the surface alignment of CCS and UV color planes for all
modifiers at one place, so do this. An AUX color plane can be a CCS or a
UV plane, use only the more specific query functions and remove
is_aux_plane() becoming redundant.

While at it add a TODO for linear UV color plane alignments. The spec
requires this to be stride-in-bytes * 64 on all platforms, whereas the
driver uses an alignment of 4k for gen<12 and 256k for gen>=12 for
linear UV planes.

v2:
- Restore previous alignment for linear UV surfaces.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210421173220.3587009-1-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb.h