[PATCH 00/12] AuxCCS handling and render compression modifiers

Tvrtko Ursulin tvrtko.ursulin at igalia.com
Fri Feb 21 10:17:19 UTC 2025


A series to fix and add xe support for AuxCSS framebuffers via DPT.

Currently the auxiliary buffer data isn't mapped into the page tables at all so
cf48bddd31de ("drm/i915/display: Disable AuxCCS framebuffers if built for Xe")
had to disable the support.

On top of that there are missing flushes and invalidations both from the ring
buffer side and from the CPU side.

Tested with KDE Wayland, on Lenovo Carbon X1 ADL-P:

  [PLANE:32:plane 1A]: type=PRI
          uapi: [FB:242] AR30 little-endian (0x30335241),0x100000000000008,2880x1800, visible=visible, src=2880.000000x1800.000000+0.000000+0.000000, dst=2880x1800+0+0, rotation=0 (0x00000001)
          hw: [FB:242] AR30 little-endian (0x30335241),0x100000000000008,2880x1800, visible=yes, src=2880.000000x1800.000000+0.000000+0.000000, dst=2880x1800+0+0, rotation=0 (0x00000001)

Display seems working fine - no artefacts, no DMAR/PIPE faults. Lets see what CI
will say.

v2:
 * More patches added to fix kms_flip_tiling.

Cc: José Roberto de Souza <jose.souza at intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Cc: Michael J. Ruhl <michael.j.ruhl at intel.com>
Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>

Tvrtko Ursulin (12):
  drm/xe: Fix MOCS debugfs LNCF readout
  drm/xe: Fix ring flush invalidation
  drm/xe: Pass flags directly to emit_flush_imm_ggtt
  drm/xe: Add ring buffer handling for AuxCCS
  drm/xe: Use correct type width for alignment in fb pinning code
  drm/xe: Use fb cached min alignment
  drm/xe: Reduce DPT table alignment as in i915
  drm/xe: Flush GGTT writes after populating DPT
  drm/xe: Handle DPT in system memory
  drm/xe: Force flush system memory AuxCCS framebuffers before scan out
  drm/xe/display: Add support for AuxCCS
  drm/xe/display: Expose AuxCCS frame buffer modifiers

 .../drm/i915/display/skl_universal_plane.c    |   6 -
 drivers/gpu/drm/xe/display/xe_fb_pin.c        | 195 ++++++++++++++----
 .../gpu/drm/xe/instructions/xe_gpu_commands.h |   1 +
 .../gpu/drm/xe/instructions/xe_mi_commands.h  |   6 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h          |   1 +
 drivers/gpu/drm/xe/xe_bo_types.h              |  14 +-
 drivers/gpu/drm/xe/xe_mocs.c                  |   4 +-
 drivers/gpu/drm/xe/xe_ring_ops.c              | 195 ++++++++++--------
 drivers/gpu/drm/xe/xe_ring_ops_types.h        |   2 +-
 9 files changed, 280 insertions(+), 144 deletions(-)

-- 
2.48.0



More information about the Intel-xe mailing list