[RFC 0/3] CCS save restore for IGPU

Satyanarayana K V P satyanarayana.k.v.p at intel.com
Mon May 19 12:52:54 UTC 2025


Prior IGPU design had compression supported in GPU VA domain. For
Virtualization, this makes compression Meta data save/restore for VF as not
necessary (i.e. Compression Meta data space is automatically save/restore with
normal guest/VM memory).

With latest Xe2 architecture, compression is supported by Flat, physical domain.
Meta data/compression control surface (Aka CCS) and association is in physical
domain and data is located in BIOS/firmware-reserved CCS pool. In
virtualization/SRIOV when VF save/restore now have to account for save/restore
VF associated CCS. Without this feature any restore of compressed resource in
IGPU VF domain will have corruption as Meta data will not be restore correctly
as a part of VF save/restore flow. Making it must have/functional feature if we
are supporting compression and Save/restore of VF on IGPU platform.

This is the first in series which adds support for CCS save/restore for IGPU.

Satyanarayana K V P (3):
  drm/xe/vf: Create contexts for CCS read write
  drm/xe/vf: Attach and detach CCS copy commands with BO.
  drm/xe/vf: Register CCS read/write contexts with Guc

 drivers/gpu/drm/xe/Makefile                |   3 +-
 drivers/gpu/drm/xe/xe_bb.c                 |  33 +++
 drivers/gpu/drm/xe/xe_bb.h                 |   1 +
 drivers/gpu/drm/xe/xe_bo.c                 |  14 +
 drivers/gpu/drm/xe/xe_bo_types.h           |   3 +
 drivers/gpu/drm/xe/xe_device.c             |   4 +
 drivers/gpu/drm/xe/xe_device_types.h       |   4 +
 drivers/gpu/drm/xe/xe_gt_debugfs.c         |  35 +++
 drivers/gpu/drm/xe/xe_guc_fwif.h           |   5 +
 drivers/gpu/drm/xe/xe_guc_submit.c         |  37 ++-
 drivers/gpu/drm/xe/xe_guc_submit.h         |   1 +
 drivers/gpu/drm/xe/xe_migrate.c            | 192 ++++++++++---
 drivers/gpu/drm/xe/xe_migrate.h            |  44 ++-
 drivers/gpu/drm/xe/xe_pm.c                 |   3 +
 drivers/gpu/drm/xe/xe_sriov.c              |  20 ++
 drivers/gpu/drm/xe/xe_sriov.h              |   1 +
 drivers/gpu/drm/xe/xe_sriov_vf_ccs.c       | 320 +++++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_vf_ccs.h       |  17 ++
 drivers/gpu/drm/xe/xe_sriov_vf_ccs_types.h |  26 ++
 19 files changed, 727 insertions(+), 36 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf_ccs_types.h

-- 
2.43.0



More information about the Intel-xe mailing list