]> 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)
commitf8fd7c4861ca50625c389bedfc2eaa35fabc85de
treea43bf142efa47b1b8efb581cee80e27d34c00942
parentee03fa1539e1a42f06c5c4ebbace77abc5eb5956
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