From: Alistair Popple <apopple@nvidia.com>
To: nova-gpu <nova-gpu@lists.linux.dev>
Cc: M Henning <mhenning@darkrefraction.com>,
Danilo Krummrich <dakr@kernel.org>,
Alice Ryhl <aliceryhl@google.com>,
David Airlie <airlied@gmail.com>,
Alexandre Courbot <acourbot@nvidia.com>,
Benno Lossin <lossin@kernel.org>, Gary Guo <gary@garyguo.net>,
Eliot Courtney <ecourtney@nvidia.com>,
John Hubbard <jhubbard@nvidia.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v5 00/11] gpu: nova: Export parameters from nova-core to nova-drm
Date: Fri, 28 Aug 2026 16:04:58 +1000 [thread overview]
Message-ID: <apEk5I-63o8QM4gJ@nvdebian.thelocal> (raw)
In-Reply-To: <20260828033531.1117754-1-apopple@nvidia.com>
On 2026-08-28 at 13:35 +1000, Alistair Popple <apopple@nvidia.com> wrote...
> This patch series adds some basic GPU properties via a new GPU info
> ioctl. It builds on top of the "drm: Higher-Ranked Lifetime private data"
> series[1] to correctly manage lifetimes of registration data shared between
> DRM, auxbus and nova-core. It's also based on top of "ForLt/CovariantForLt
> split, auxiliary closure API and DevresLt"[2]
>
> A tree with this series applied on top of all pre-requisites is available
> at [3].
>
> Properties are exported via a new NovaCoreApi type which implements methods
> to read data from the GPU. This has been implemented in a separate module
> to make the public API implementations obvious and to keep them in one
> place. Auxiliary bus drivers can obtain a handle to this type using
> NovaCoreApi::of().
>
> This handle can then be stored as part of the DRM registration data and
> used to interact with the GPU via the nova-core driver.
>
> A new info ioctl is introduced which provides an info type field and a
> method for reading extendable structs containing GPU information. This
> series can be tested using the drm-test[4]. A pull request containing
> updated tests will be raised once this has been posted.
Pull request is here:
https://gitlab.freedesktop.org/dakr/drm-test/-/merge_requests/1
> A pull request for
> Mesa has also been raised but is out of date. That will be updated once
> this series has been merged.
>
> Changes since v4:
>
> - No longer export chip-id, instead export architecture and implementation
> - Add a separate info ioctl with types to read GPU info as suggested by
> Danilo
>
> Changes since v3:
>
> - Use an ioctl to return all parameters rather than multiple key/value
> queries
>
> Changes since v2:
>
> - Addressed review Danilo and Alex
> - Minor renames to better align with HW based on internal feedback
>
> Changes since v1:
>
> - Address review comments from Danilo
> - Add an API call to read VRAM PCI BAR size using nova-core
>
> [1] - https://lore.kernel.org/rust-for-linux/20260628145406.2107056-1-dakr@kernel.org/
> [2] - https://lore.kernel.org/driver-core/20260626183630.2585057-1-dakr@kernel.org/
> [3] - https://github.com/apopple-nvidia/linux/tree/nova-drm
> [4] - https://gitlab.freedesktop.org/dakr/drm-test
>
> Cc: M Henning <mhenning@darkrefraction.com>
> Cc: Danilo Krummrich <dakr@kernel.org>
> Cc: Alice Ryhl <aliceryhl@google.com>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Alexandre Courbot <acourbot@nvidia.com>
> Cc: Benno Lossin <lossin@kernel.org>
> Cc: Gary Guo <gary@garyguo.net>
> Cc: Eliot Courtney <ecourtney@nvidia.com>
> Cc: John Hubbard <jhubbard@nvidia.com>
> Cc: linux-kernel@vger.kernel.org
> Cc: nova-gpu@lists.linux.dev
> Cc: dri-devel@lists.freedesktop.org
> Cc: rust-for-linux@vger.kernel.org
>
> Alistair Popple (11):
> gpu: nova-core: Add public driver API to nova-core
> drm: nova: Add DRM registration data
> drm: nova: Add GPU architecture enum to nova-drm UAPI
> rust: uaccess: add UserSliceWriter::write_truncated()
> drm: nova: Add an info ioctl
> drm: nova: Add usable VRAM size to GPU info
> drm: nova: Use nova-core to read VRAM_BAR_SIZE parameter
> drm: nova: Expose a render node
> drm: nova: Report GPU name in GPU info
> drm: nova: Report GPU short name in GPU info
> drm: nova: Report GPU GID in GPU info
>
> drivers/gpu/drm/nova/driver.rs | 18 ++++-
> drivers/gpu/drm/nova/file.rs | 83 ++++++++++++++++++++----
> drivers/gpu/nova-core/api.rs | 68 +++++++++++++++++++
> drivers/gpu/nova-core/driver.rs | 46 +++++++++----
> drivers/gpu/nova-core/gpu.rs | 43 +++++++-----
> drivers/gpu/nova-core/gsp/commands.rs | 27 ++++++++
> drivers/gpu/nova-core/gsp/fw/commands.rs | 12 ++++
> drivers/gpu/nova-core/gsp/hal.rs | 2 +-
> drivers/gpu/nova-core/nova_core.rs | 1 +
> drivers/gpu/nova-core/num.rs | 2 +-
> include/uapi/drm/nova_drm.h | 82 +++++++++++++++++++++++
> rust/kernel/uaccess.rs | 14 ++++
> 12 files changed, 352 insertions(+), 46 deletions(-)
> create mode 100644 drivers/gpu/nova-core/api.rs
>
> --
> 2.54.0
>
prev parent reply other threads:[~2026-08-28 6:05 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 3:35 [PATCH v5 00/11] gpu: nova: Export parameters from nova-core to nova-drm Alistair Popple
2026-08-28 3:35 ` [PATCH v5 01/11] gpu: nova-core: Add public driver API to nova-core Alistair Popple
2026-08-28 3:35 ` [PATCH v5 02/11] drm: nova: Add DRM registration data Alistair Popple
2026-08-28 3:35 ` [PATCH v5 03/11] drm: nova: Add GPU architecture enum to nova-drm UAPI Alistair Popple
2026-08-28 3:35 ` [PATCH v5 04/11] rust: uaccess: add UserSliceWriter::write_truncated() Alistair Popple
2026-08-28 3:35 ` [PATCH v5 05/11] drm: nova: Add an info ioctl Alistair Popple
2026-08-28 3:35 ` [PATCH v5 06/11] drm: nova: Add usable VRAM size to GPU info Alistair Popple
2026-08-28 3:35 ` [PATCH v5 07/11] drm: nova: Use nova-core to read VRAM_BAR_SIZE parameter Alistair Popple
2026-08-28 3:35 ` [PATCH v5 08/11] drm: nova: Expose a render node Alistair Popple
2026-08-28 3:35 ` [PATCH v5 09/11] drm: nova: Report GPU name in GPU info Alistair Popple
2026-08-28 3:35 ` [PATCH v5 10/11] drm: nova: Report GPU short " Alistair Popple
2026-08-28 3:35 ` [PATCH v5 11/11] drm: nova: Report GPU GID " Alistair Popple
2026-08-28 6:04 ` Alistair Popple [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=apEk5I-63o8QM4gJ@nvdebian.thelocal \
--to=apopple@nvidia.com \
--cc=acourbot@nvidia.com \
--cc=airlied@gmail.com \
--cc=aliceryhl@google.com \
--cc=dakr@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=ecourtney@nvidia.com \
--cc=gary@garyguo.net \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=mhenning@darkrefraction.com \
--cc=nova-gpu@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.