[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c6350b8d-fb41-46f9-806d-20b058f778d9@nvidia.com>
Date: Mon, 20 Oct 2025 14:20:58 -0700
From: John Hubbard <jhubbard@...dia.com>
To: Joel Fernandes <joelagnelf@...dia.com>, linux-kernel@...r.kernel.org,
rust-for-linux@...r.kernel.org, dri-devel@...ts.freedesktop.org,
dakr@...nel.org, acourbot@...dia.com
Cc: Alistair Popple <apopple@...dia.com>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>, Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>, bjorn3_gh@...tonmail.com,
Benno Lossin <lossin@...nel.org>, Andreas Hindborg <a.hindborg@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
Timur Tabi <ttabi@...dia.com>, joel@...lfernandes.org,
Elle Rhumsaa <elle@...thered-steel.dev>,
Daniel Almeida <daniel.almeida@...labora.com>, nouveau@...ts.freedesktop.org
Subject: Re: [PATCH 0/7] Pre-requisite patches for mm and irq in nova-core
On 10/20/25 11:55 AM, Joel Fernandes wrote:
> These patches have some prerequistes needed for nova-core as support is added
> for memory management and interrupt handling. I rebased them on drm-rust-next
> and would like them to be considered for the next merge window. I also included
> a simple rust documentation patch fixing some issues I noticed while reading it :).
Just to be clear, it appears to me that one must first apply
"[PATCH v7 0/4] bitfield initial refactor within nova-core" [1],
in order to apply this series, yes?
[1] https://lore.kernel.org/20251016150204.1189641-1-joelagnelf@nvidia.com
thanks,
--
John Hubbard
>
> The series adds support for the PRAMIN aperture mechanism, which is a
> prerequisite for virtual memory as it is required to boot strap virtual memory
> (we cannot write to VRAM using virtual memory because we need to write page
> tables to VRAM in the first place).
>
> I also add page table related structures (mm/types.rs) using the bitfield
> macro, which will be used for page table walking, memory mapping, etc. This is
> currently unused code, because without physical memory allocation (using the
> buddy allocator), we cannot use this code as page table pages need to be
> allocated in the first place. However, I have included several examples in the
> file about how these structures will be used. I have also simplified the code
> keeping future additions to it for later.
>
> For interrupts, I only have added additional support for GSP's message queue
> interrupt. I am working on adding support to the interrupt controller module
> (VFN) which is the next thing for me to post after this series. I have it
> prototyped and working, however I am currently making several changes to it
> related to virtual functions. For now in this series, I just want to get the
> GSP-specific patch out of the way, hence I am including it here.
>
> I also have added a patch for bitfield macro which constructs a bitfield struct
> given its storage type. This is used in a later GSP interrupt patch in the
> series to read from one register and write to another.
>
> Joel Fernandes (7):
> docs: rust: Fix a few grammatical errors
> gpu: nova-core: Add support to convert bitfield to underlying type
> docs: gpu: nova-core: Document GSP RPC message queue architecture
> docs: gpu: nova-core: Document the PRAMIN aperture mechanism
> gpu: nova-core: Add support for managing GSP falcon interrupts
> nova-core: mm: Add support to use PRAMIN windows to write to VRAM
> nova-core: mm: Add data structures for page table management
>
> Documentation/gpu/nova/core/msgq.rst | 159 +++++++++
> Documentation/gpu/nova/core/pramin.rst | 113 +++++++
> Documentation/gpu/nova/index.rst | 2 +
> Documentation/rust/coding-guidelines.rst | 4 +-
> drivers/gpu/nova-core/bitfield.rs | 7 +
> drivers/gpu/nova-core/falcon/gsp.rs | 26 +-
> drivers/gpu/nova-core/gpu.rs | 2 +-
> drivers/gpu/nova-core/mm/mod.rs | 4 +
> drivers/gpu/nova-core/mm/pramin.rs | 241 ++++++++++++++
> drivers/gpu/nova-core/mm/types.rs | 405 +++++++++++++++++++++++
> drivers/gpu/nova-core/nova_core.rs | 1 +
> drivers/gpu/nova-core/regs.rs | 39 ++-
> 12 files changed, 996 insertions(+), 7 deletions(-)
> create mode 100644 Documentation/gpu/nova/core/msgq.rst
> create mode 100644 Documentation/gpu/nova/core/pramin.rst
> create mode 100644 drivers/gpu/nova-core/mm/mod.rs
> create mode 100644 drivers/gpu/nova-core/mm/pramin.rs
> create mode 100644 drivers/gpu/nova-core/mm/types.rs
>
Powered by blists - more mailing lists