Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] ATS/PASID SVA support and PRI-less fault servicing
@ 2026-10-21  4:11 Nareshkumar Gollakoti
  2026-10-21  4:11 ` [PATCH 1/6] drm/xe/pci: log ATS/PASID enablement state at probe Nareshkumar Gollakoti
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Nareshkumar Gollakoti @ 2026-10-21  4:11 UTC (permalink / raw)
  To: intel-xe; +Cc: himal.prasad.ghimiray, Nareshkumar Gollakoti

This series adds initial Shared Virtual Addressing (SVA) support for xe
on platforms where ATS and PASID are available but PRI is not enabled or
not supported.

For SVA, the device must be able to issue memory transactions tagged
with a PASID so that address translation is performed in the process
address space rather than in a driver owned address space. This series
adds the xe side infrastructure needed for that flow: VM support for SVA
PASID state, PASID retriveal helpers, and programming of CTX_SYS_PASID
for ATS and PASID enabled contexts.

On systems with PRI, device page faults can be surfaced and resolved
through the hardware page request interface, so the driver does not need
to implement a separate fault servicing path for SVA.
On non PRI systems, that hardware assisted fault path is unavailable.In
that case, the driver still needs a way to resolve faults against the
backing process address space so execution can proceed.

To support that case, this series introduces a CPU mirror VMA and uses
it as part of a driver managed SVM path for SVA faults without PRI.The
purpose of the CPU mirror VMA is to provide a CPU side VMA
representation for the address range being accesses through SVA,so the
driver can rely on the kernel MM/VMA machinery to validate mappings and
resolve backing pages for fault handling in the absence of PRI.In
other words, since the device cannot issue PRI requests, the driver
needs a CPU visible VMA context that mirrors the GPU SVA range closely
enough to let faults be service through normal MM paths.

At a high level, this series does the following:

 1. log ATS/PASID enablement state during probe,
 2. add VM infrastructure needed for SVA PASID support,
 3. add a helper to retrieve the VM SVA PASID,
 4. program CTX_SYS_PASID for ATS/PASID-enabled contexts,
 5. add a PCI helper for ATS/PASID operation without PRI,
 6. add a CPU mirror VMA for handling SVA faults on non PRI platforms

Patches 1-5 provide the ATS/PASID and VM/context plumbing needed for
this flow and have been validated internally.Patch 6 adds the non PRI
fault servicing path, and feedback on that overall approach would be
especially appreciated.

Himal Prasad Ghimiray (1):
  drm/xe/vm: Setup SVA infrastructure for PASID support

Nareshkumar Gollakoti (5):
  drm/xe/pci: log ATS/PASID enablement state at probe
  drm/xe/vm: add helper to retrieve VM SVA PASID
  drm/xe/lrc: program CTX_SYS_PASID for ATS/PASID-enabled contexts
  drm/xe/pci: add helper for ATS/PASID without PRI
  drm/xe/pagefault: add CPU mirror VMA for SVA faults without PRI

 drivers/gpu/drm/xe/regs/xe_lrc_layout.h |  6 +++
 drivers/gpu/drm/xe/xe_lrc.c             | 37 ++++++++++++++++
 drivers/gpu/drm/xe/xe_pagefault.c       | 49 ++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_pagefault_types.h |  6 +++
 drivers/gpu/drm/xe/xe_pci.c             |  7 ++++
 drivers/gpu/drm/xe/xe_pci.h             | 15 +++++++
 drivers/gpu/drm/xe/xe_vm.c              | 56 +++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_vm.h              |  2 +
 drivers/gpu/drm/xe/xe_vm_types.h        |  6 +++
 9 files changed, 184 insertions(+)

-- 
2.43.0


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

end of thread, other threads:[~2026-10-22 11:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-21  4:11 [PATCH 0/6] ATS/PASID SVA support and PRI-less fault servicing Nareshkumar Gollakoti
2026-10-21  4:11 ` [PATCH 1/6] drm/xe/pci: log ATS/PASID enablement state at probe Nareshkumar Gollakoti
2026-10-21  4:32   ` sashiko-bot
2026-10-21  4:11 ` [PATCH 2/6] drm/xe/vm: Setup SVA infrastructure for PASID support Nareshkumar Gollakoti
2026-10-21  4:30   ` sashiko-bot
2026-10-21  4:11 ` [PATCH 3/6] drm/xe/vm: add helper to retrieve VM SVA PASID Nareshkumar Gollakoti
2026-10-21  4:11 ` [PATCH 4/6] drm/xe/lrc: program CTX_SYS_PASID for ATS/PASID-enabled contexts Nareshkumar Gollakoti
2026-10-21  4:11 ` [PATCH 5/6] drm/xe/pci: add helper for ATS/PASID without PRI Nareshkumar Gollakoti
2026-10-21  4:11 ` [PATCH 6/6] drm/xe/pagefault: add CPU mirror VMA for SVA faults " Nareshkumar Gollakoti
2026-10-21  4:35   ` sashiko-bot
2026-10-21  4:21 ` ✗ CI.KUnit: failure for ATS/PASID SVA support and PRI-less fault servicing Patchwork
2026-10-21 15:25 ` [PATCH 0/6] " Thomas Hellström
2026-10-22  6:30   ` Kumar G, Naresh
2026-10-22 11:12     ` Thomas Hellström
2026-10-21 21:24 ` Matthew Brost

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