Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/3] CCS save restore for IGPU
@ 2025-06-06 12:45 Satyanarayana K V P
  2025-06-06 12:45 ` [PATCH v6 1/3] drm/xe/vf: Create contexts for CCS read write Satyanarayana K V P
                   ` (10 more replies)
  0 siblings, 11 replies; 23+ messages in thread
From: Satyanarayana K V P @ 2025-06-06 12:45 UTC (permalink / raw)
  To: intel-xe; +Cc: Satyanarayana K V P

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.

V5 -> V6:
- Removed dead code from xe_migrate_ccs_rw_copy() function (Matthew Brost)
- Added id field in the xe_tile_vf_ccs structure for self identification.

V4 -> V5:
- Modified read/write contexts to enums from #defines (Matthew Brost).
- The CCS BB pool size is calculated based on the system memory size
  (Michal Wajdeczko & Matthew Brost).
- Fixed review comments (Matthew Brost & Matthew Auld)
- Create a list of BBs for the given BO and fixed memory leak while
  detaching BOs. (Matthew Brost).
- Yet to cleanup xe_migrate_ccs_rw_copy() function.

V3 -> V4:
- Fixed issues reported by patchworks.

V2 -> V3:
- Added new variable which denotes the initialization of contexts.
- Attach and detach functions check for IS_VF_CCS_READY().
- Made xe_migrate structure private as per review comments.
- Created new xe_migrate functions to get lrc and exec_queue.

V1 -> V2:
- Fixed review comments.

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                |   1 +
 drivers/gpu/drm/xe/xe_bb.c                 |  34 ++
 drivers/gpu/drm/xe/xe_bb.h                 |   3 +
 drivers/gpu/drm/xe/xe_bb_types.h           |   1 +
 drivers/gpu/drm/xe/xe_bo.c                 |  23 ++
 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         |  36 +++
 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            | 120 +++++++
 drivers/gpu/drm/xe/xe_migrate.h            |   7 +
 drivers/gpu/drm/xe/xe_pm.c                 |   4 +
 drivers/gpu/drm/xe/xe_sriov.c              |  19 ++
 drivers/gpu/drm/xe/xe_sriov.h              |   1 +
 drivers/gpu/drm/xe/xe_sriov_types.h        |   5 +
 drivers/gpu/drm/xe/xe_sriov_vf_ccs.c       | 352 +++++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_vf_ccs.h       |  17 +
 drivers/gpu/drm/xe/xe_sriov_vf_ccs_types.h |  54 ++++
 21 files changed, 729 insertions(+), 2 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


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-06-16 15:02 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-06 12:45 [PATCH v6 0/3] CCS save restore for IGPU Satyanarayana K V P
2025-06-06 12:45 ` [PATCH v6 1/3] drm/xe/vf: Create contexts for CCS read write Satyanarayana K V P
2025-06-06 17:18   ` Matthew Brost
2025-06-06 17:39   ` Matthew Brost
2025-06-09 12:39   ` Michal Wajdeczko
2025-06-09 16:08     ` Matthew Brost
2025-06-16 15:01       ` K V P, Satyanarayana
2025-06-06 12:45 ` [PATCH v6 2/3] drm/xe/vf: Attach and detach CCS copy commands with BO Satyanarayana K V P
2025-06-06 17:37   ` Matthew Brost
2025-06-09 12:00     ` K V P, Satyanarayana
2025-06-09 16:06       ` Matthew Brost
2025-06-16 14:57         ` K V P, Satyanarayana
2025-06-06 12:45 ` [PATCH v6 3/3] drm/xe/vf: Register CCS read/write contexts with Guc Satyanarayana K V P
2025-06-09 16:28   ` Matthew Brost
2025-06-16 14:55     ` K V P, Satyanarayana
2025-06-06 14:16 ` ✓ CI.Patch_applied: success for CCS save restore for IGPU (rev6) Patchwork
2025-06-06 14:17 ` ✗ CI.checkpatch: warning " Patchwork
2025-06-06 14:18 ` ✓ CI.KUnit: success " Patchwork
2025-06-06 14:29 ` ✓ CI.Build: " Patchwork
2025-06-06 14:31 ` ✗ CI.Hooks: failure " Patchwork
2025-06-06 14:33 ` ✓ CI.checksparse: success " Patchwork
2025-06-06 15:09 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-08 18:37 ` ✓ Xe.CI.Full: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox