[Intel-gfx] [PATCH 00/23] drm/i915: Add support for FBs requiring a POT stride padding
Imre Deak
imre.deak at intel.com
Wed Mar 10 22:17:13 UTC 2021
An upcoming platform requires the stride of tiled display surfaces to be
power-of-two aligned. This patch adds support for this using the FB
remapping logic.
Until the functionality is fully enabled we keep testing it via the
vma selftests and by the last patch which forces the padding on for all
platforms where the FB remapping is possible.
The other goal of the changes is to reduce the size of intel_display.c,
starting to collect all FB plane specific functions to a separate
intel_fb.c file and to share more code between the FB creation and
commit time remapping logic.
For reference I also pushed the changes to:
https://github.com/ideak/linux/commits/fb_pot_remap
Imre Deak (23):
drm/i915: Fix rotation setup during plane HW readout
drm/i915/selftest: Fix error handling in igt_vma_remapped_gtt()
drm/i915/selftest: Fix debug message in igt_vma_remapped_gtt()
drm/i915: Make sure i915_ggtt_view is inited when creating an FB
drm/i915/selftest: Make sure to init i915_ggtt_view in
igt_vma_rotate_remap()
drm/i915: Remove duplicate intel_surf_alignment() declaration
drm/i915/intel_fb: Pull FB plane functions from intel_display_types.h
drm/i915/intel_fb: Pull FB plane functions from skl_universal_plane.c
drm/i915/intel_fb: Pull is_surface_linear() from
intel_display.c/skl_universal_plane.c
drm/i915/intel_fb: Pull FB plane functions from intel_sprite.c
drm/i915/intel_fb: Pull FB plane functions from intel_display.c
drm/i915/intel_fb: Unexport intel_fb_check_stride()
drm/i915/intel_fb: s/dev_priv/i915/
drm/i915/intel_fb: Factor out convert_plane_offset_to_xy()
drm/i915/intel_fb: Factor out calc_plane_aligned_offset()
drm/i915/intel_fb: Factor out calc_plane_normal_size()
drm/i915/intel_fb: Factor out plane_calc_remap_info()
drm/i915: Shrink the size of intel_remapped_plane_info struct
drm/i915/selftest: Unify use of intel_remapped_plane_info in
igt_vma_rotate_remap()
drm/i915: s/stride/src_stride/ in the intel_remapped_plane_info struct
drm/i915: Add support for FBs requiring a POT stride alignment
drm/i915/selftest: Add remap/rotate vma subtests when
dst_stride!=width/height
drm/i915: For-CI: Force remapping the FB with a POT aligned stride
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/i9xx_plane.c | 1 +
drivers/gpu/drm/i915/display/intel_cursor.c | 1 +
drivers/gpu/drm/i915/display/intel_display.c | 833 +-------------
drivers/gpu/drm/i915/display/intel_display.h | 19 -
.../drm/i915/display/intel_display_types.h | 32 +-
drivers/gpu/drm/i915/display/intel_fb.c | 1012 +++++++++++++++++
drivers/gpu/drm/i915/display/intel_fb.h | 56 +
drivers/gpu/drm/i915/display/intel_sprite.c | 32 -
drivers/gpu/drm/i915/display/intel_sprite.h | 1 -
.../drm/i915/display/skl_universal_plane.c | 41 +-
.../drm/i915/display/skl_universal_plane.h | 2 -
drivers/gpu/drm/i915/gt/intel_ggtt.c | 58 +-
drivers/gpu/drm/i915/i915_debugfs.c | 16 +-
drivers/gpu/drm/i915/i915_vma_types.h | 12 +-
drivers/gpu/drm/i915/selftests/i915_vma.c | 217 +++-
16 files changed, 1310 insertions(+), 1024 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_fb.c
create mode 100644 drivers/gpu/drm/i915/display/intel_fb.h
--
2.25.1
More information about the Intel-gfx
mailing list