All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/16] gpu: nova-core: GPU page table, vmm, and bar1 mapping
@ 2026-09-09  3:59 Eliot Courtney
  2026-09-09  3:59 ` [PATCH 01/16] gpu: nova-core: mm: Add common types for virtual memory management Eliot Courtney
                   ` (16 more replies)
  0 siblings, 17 replies; 34+ messages in thread
From: Eliot Courtney @ 2026-09-09  3:59 UTC (permalink / raw)
  To: Danilo Krummrich, Alexandre Courbot
  Cc: Alice Ryhl, John Hubbard, Alistair Popple, Timur Tabi, nova-gpu,
	dri-devel, linux-kernel, Eliot Courtney, Joel Fernandes, Zhi Wang

I am reposting Joel Fernandes's original series [1]. The rebase adapts
the patches to recent changes in the rust infra, like HRT lifetimes. It
also adapts to the changes I posted in [2]. It keeps Joel's design and
patch split.

From Joel's original cover letter:

  This series introduces page-table types and a Virtual Memory Manager (VMM)
  for the nova-core driver, plus a BAR1 user (with selftests) layered on top.
  The page-table layer uses trait-based generics (PteOps, PdeOps, DualPdeOps,
  MmuConfig) to dispatch between MMU v2 and v3 formats. The Vmm tracks
  virtual-address ranges with a maple tree, and the BAR1 user exposes mapped
  CPU access to VRAM through a small allocation API exercised by the selftests.

This series depends on Joel's maple tree Send and Sync patch [3] and his
PCI resource_flags() accessor [4], which I am reposting separately.

This series is based on drm-rust-next.

[1] https://lore.kernel.org/all/20260518181126.2493572-1-joelagnelf@nvidia.com/
[2] https://lore.kernel.org/all/20260827-pramin-split-v3-0-24b24d7afc52@nvidia.com/
[3] https://lore.kernel.org/all/20260511143604.3848176-1-joelagnelf@nvidia.com/
[4] https://lore.kernel.org/all/20260518180342.2387845-2-joelagnelf@nvidia.com/

Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
---
Joel Fernandes (16):
      gpu: nova-core: mm: Add common types for virtual memory management
      gpu: nova-core: mm: Add buddy allocator and TLB to GpuMm
      gpu: nova-core: mm: Add common types for all page table formats
      gpu: nova-core: mm: pagetable: Add PteOps trait
      gpu: nova-core: mm: pagetable: Add PdeOps trait
      gpu: nova-core: mm: pagetable: Add DualPdeOps trait
      gpu: nova-core: mm: Add MMU v2 page table types
      gpu: nova-core: mm: Add MMU v3 page table types
      gpu: nova-core: mm: pagetable: Add MmuConfig trait
      gpu: nova-core: mm: Add page table walker for MMU v2/v3
      gpu: nova-core: mm: Add Virtual Memory Manager
      gpu: nova-core: mm: Add virtual address range tracking to VMM
      gpu: nova-core: mm: Add multi-page mapping API to VMM
      gpu: nova-core: Add BAR1 aperture type and size constant
      gpu: nova-core: mm: Add BAR1 user interface
      gpu: nova-core: mm: Add BAR1 memory management self-tests

 drivers/gpu/nova-core/Kconfig              |   1 +
 drivers/gpu/nova-core/driver.rs            |  45 ++-
 drivers/gpu/nova-core/gpu.rs               |  68 ++++-
 drivers/gpu/nova-core/gsp/commands.rs      |   3 +
 drivers/gpu/nova-core/gsp/fw/commands.rs   |   8 +
 drivers/gpu/nova-core/mm.rs                | 177 +++++++++++-
 drivers/gpu/nova-core/mm/bar_user.rs       | 422 +++++++++++++++++++++++++++++
 drivers/gpu/nova-core/mm/pagetable.rs      | 422 +++++++++++++++++++++++++++++
 drivers/gpu/nova-core/mm/pagetable/map.rs  | 342 +++++++++++++++++++++++
 drivers/gpu/nova-core/mm/pagetable/ver2.rs | 271 ++++++++++++++++++
 drivers/gpu/nova-core/mm/pagetable/ver3.rs | 417 ++++++++++++++++++++++++++++
 drivers/gpu/nova-core/mm/pagetable/walk.rs | 244 +++++++++++++++++
 drivers/gpu/nova-core/mm/tlb.rs            | 120 ++++++++
 drivers/gpu/nova-core/mm/vmm.rs            | 346 +++++++++++++++++++++++
 drivers/gpu/nova-core/regs.rs              |  68 +++++
 15 files changed, 2937 insertions(+), 17 deletions(-)
---
base-commit: e6a2c988ed96a5a3af51ed97ecba980521bf2fc0
change-id: 20260805-mmrebase-113582afb003
prerequisite-change-id: 20260907-maple-tree-send-sync-a1479d1ab302:v2
prerequisite-patch-id: 81d532949891e2dd846cca5c420e4ba32e9161a7
prerequisite-change-id: 20260907-pci-resource-flags-b7addba0b34f:v1
prerequisite-patch-id: bdd1c2eb4adbedf1c53f1be61ea958743d2a2660

Best regards,
--  
Eliot Courtney <ecourtney@nvidia.com>


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

end of thread, other threads:[~2026-09-10  0:47 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-09  3:59 [PATCH 00/16] gpu: nova-core: GPU page table, vmm, and bar1 mapping Eliot Courtney
2026-09-09  3:59 ` [PATCH 01/16] gpu: nova-core: mm: Add common types for virtual memory management Eliot Courtney
2026-09-09  3:59 ` [PATCH 02/16] gpu: nova-core: mm: Add buddy allocator and TLB to GpuMm Eliot Courtney
2026-09-09  4:09   ` sashiko-bot
2026-09-09  3:59 ` [PATCH 03/16] gpu: nova-core: mm: Add common types for all page table formats Eliot Courtney
2026-09-09  3:59 ` [PATCH 04/16] gpu: nova-core: mm: pagetable: Add PteOps trait Eliot Courtney
2026-09-09  4:07   ` sashiko-bot
2026-09-09  3:59 ` [PATCH 05/16] gpu: nova-core: mm: pagetable: Add PdeOps trait Eliot Courtney
2026-09-09  4:08   ` sashiko-bot
2026-09-09  3:59 ` [PATCH 06/16] gpu: nova-core: mm: pagetable: Add DualPdeOps trait Eliot Courtney
2026-09-09  3:59 ` [PATCH 07/16] gpu: nova-core: mm: Add MMU v2 page table types Eliot Courtney
2026-09-09  4:12   ` sashiko-bot
2026-09-09 18:43   ` Danilo Krummrich
2026-09-09  3:59 ` [PATCH 08/16] gpu: nova-core: mm: Add MMU v3 " Eliot Courtney
2026-09-09  3:59 ` [PATCH 09/16] gpu: nova-core: mm: pagetable: Add MmuConfig trait Eliot Courtney
2026-09-09  4:12   ` sashiko-bot
2026-09-09  3:59 ` [PATCH 10/16] gpu: nova-core: mm: Add page table walker for MMU v2/v3 Eliot Courtney
2026-09-09  4:07   ` sashiko-bot
2026-09-09  3:59 ` [PATCH 11/16] gpu: nova-core: mm: Add Virtual Memory Manager Eliot Courtney
2026-09-09  3:59 ` [PATCH 12/16] gpu: nova-core: mm: Add virtual address range tracking to VMM Eliot Courtney
2026-09-09  4:18   ` sashiko-bot
2026-09-09 19:32   ` Danilo Krummrich
2026-09-09  3:59 ` [PATCH 13/16] gpu: nova-core: mm: Add multi-page mapping API " Eliot Courtney
2026-09-09  4:17   ` sashiko-bot
2026-09-09 19:58   ` Danilo Krummrich
2026-09-10  0:47   ` Alistair Popple
2026-09-09  3:59 ` [PATCH 14/16] gpu: nova-core: Add BAR1 aperture type and size constant Eliot Courtney
2026-09-09  4:14   ` sashiko-bot
2026-09-09  3:59 ` [PATCH 15/16] gpu: nova-core: mm: Add BAR1 user interface Eliot Courtney
2026-09-09  4:16   ` sashiko-bot
2026-09-09 20:13   ` Danilo Krummrich
2026-09-09  3:59 ` [PATCH 16/16] gpu: nova-core: mm: Add BAR1 memory management self-tests Eliot Courtney
2026-09-09  4:18   ` sashiko-bot
2026-09-09 21:11 ` [PATCH 00/16] gpu: nova-core: GPU page table, vmm, and bar1 mapping Danilo Krummrich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.