[PATCH v7 00/10] *Enable compression handling on LNL.

Himal Prasad Ghimiray himal.prasad.ghimiray at intel.com
Mon Dec 11 13:41:13 UTC 2023


xe2 igfx platform supports compression and firmware reserves 1/512th of 
system memory for ccs pool and programs the configuration registers.
The configuration register must be read during driver initialization and 
should notify via drm_dbg if compression is disabled.

The firmware allocated ccs pool is directly inaccesible to driver and can
only be read/write using XY_CTRL_SURF_COPY_BLT commands. To support ccs
metadata handling, driver allocates extra memory in bo. 

During bo creation the ccs region needs to be cleared for security.
During the eviction (buffer movement from gpu domain to system domain) 
ccs metadata is copied from flat ccs to extra memory allocated in bo and
during restore(buffer movement from system domain to gpu domain) ccs
metadata is copied from extra pages in bo to flat ccs region.

Series enables flat ccs on xe2 igfx platforms and handles clearing and
copy of ccs metadata during bo creation and xe_bo_move respectively.

Cc: Matt Roper <matthew.d.roper at intel.com>
Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>

Himal Prasad Ghimiray (10):
  drm/xe/xe2: Determine bios enablement for flat ccs on igfx
  drm/xe/xe2: Modify main memory to ccs memory ratio.
  drm/xe/xe2: Allocate extra pages for ccs during bo create
  drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
  drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
  drm/xe/xe2: Update chunk size for each iteration of ccs copy
  drm/xe/xe2: Update emit_pte to use compression enabled PAT index
  drm/xe/xe2: Handle flat ccs move for igfx.
  drm/xe/xe2: Modify xe_bo_test for system memory
  drm/xe/xe2: Support flat ccs

 drivers/gpu/drm/xe/regs/xe_gpu_commands.h |   7 +-
 drivers/gpu/drm/xe/regs/xe_gt_regs.h      |   3 +
 drivers/gpu/drm/xe/tests/xe_bo.c          |  44 +++--
 drivers/gpu/drm/xe/tests/xe_migrate.c     |   6 +-
 drivers/gpu/drm/xe/xe_bo.c                |  47 +++--
 drivers/gpu/drm/xe/xe_bo_types.h          |   4 +
 drivers/gpu/drm/xe/xe_device.c            |  32 +++-
 drivers/gpu/drm/xe/xe_migrate.c           | 202 +++++++++++-----------
 drivers/gpu/drm/xe/xe_migrate.h           |   3 +-
 drivers/gpu/drm/xe/xe_pat.c               |   1 +
 drivers/gpu/drm/xe/xe_pci.c               |   2 +-
 drivers/gpu/drm/xe/xe_pt_types.h          |   1 +
 12 files changed, 205 insertions(+), 147 deletions(-)

-- 
2.25.1



More information about the Intel-xe mailing list