]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/adlp: Add support for remapping CCS FBs
authorImre Deak <imre.deak@intel.com>
Mon, 6 Sep 2021 18:27:14 +0000 (21:27 +0300)
committerImre Deak <imre.deak@intel.com>
Thu, 23 Sep 2021 14:36:01 +0000 (17:36 +0300)
commitf74816f97d558f06405ad94cbd60918e14029a2b
treea43bf142efa47b1b8efb581cee80e27d34c00942
parent625fc3f38dd7fe3bd3dd6e5591c1734a03e19f49
drm/i915/adlp: Add support for remapping CCS FBs

Add support for remapping CCS FBs on ADL-P to remove the restriction
of the power-of-two sized stride and the 2MB surface offset alignment
for these FBs.

We can only remap the tiles on the main surface, not the tiles on the
CCS surface, so userspace has to generate the CCS surface aligning to
the POT size padded main surface stride (by programming the AUX
pagetable accordingly). For the required AUX pagetable setup, this
requires that either the main surface stride is 8 tiles or that the
stride is 16 tiles aligned (= 64 kbytes, the area mapped by one AUX
PTE).

v2:
- Init intel_remapped_info::plane_alignment only for remapped views and
  do this from intel_fb_view_init().

Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210906182715.3915100-6-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/gt/intel_ggtt.c
drivers/gpu/drm/i915/i915_vma_types.h