This patch series adds some basic GPU properties to the existing nova-drm GETPARAM 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] although the functionality of that series isn't actually required.
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. [1] - https://lore.kernel.org/rust-for-linux/[email protected]/ [2] - https://lore.kernel.org/driver-core/[email protected]/ [3] - https://github.com/apopple-nvidia/linux/tree/nova-drm Cc: Danilo Krummrich <[email protected]> Cc: Alice Ryhl <[email protected]> Cc: David Airlie <[email protected]> Cc: Alexandre Courbot <[email protected]> Cc: Benno Lossin <[email protected]> Cc: Gary Guo <[email protected]> Cc: Eliot Courtney <[email protected]> Cc: John Hubbard <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Alistair Popple (4): gpu: nova-core: Add public driver API to nova-core gpu: nova: Add DRM registration data drm: nova: Add GETPARAM parameter to read the GPU chipset drm: nova: Add a GETPARAM parameter to read usable VRAM size drivers/gpu/drm/nova/driver.rs | 15 +++++++-- drivers/gpu/drm/nova/file.rs | 15 ++++----- drivers/gpu/nova-core/api.rs | 39 +++++++++++++++++++++++ drivers/gpu/nova-core/driver.rs | 45 ++++++++++++++++++++------- drivers/gpu/nova-core/gpu.rs | 16 +++++----- drivers/gpu/nova-core/gsp/commands.rs | 8 +++++ drivers/gpu/nova-core/gsp/hal.rs | 2 +- drivers/gpu/nova-core/nova_core.rs | 1 + include/uapi/drm/nova_drm.h | 14 +++++++++ 9 files changed, 125 insertions(+), 30 deletions(-) create mode 100644 drivers/gpu/nova-core/api.rs -- 2.54.0
