mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-15 22:41:38 +00:00
Add the initial nova-core driver stub. nova-core is intended to serve as a common base for nova-drm (the corresponding DRM driver) and the vGPU manager VFIO driver, serving as a hard- and firmware abstraction layer for GSP-based NVIDIA GPUs. The Nova project, including nova-core and nova-drm, in the long term, is intended to serve as the successor of Nouveau for all GSP-based GPUs. The motivation for both, starting a successor project for Nouveau and doing so using the Rust programming language, is documented in detail through a previous post on the mailing list [1], an LWN article [2] and a talk from LPC '24. In order to avoid the chicken and egg problem to require a user to upstream Rust abstractions, but at the same time require the Rust abstractions to implement the driver, nova-core kicks off as a driver stub and is subsequently developed upstream. Link: https://lore.kernel.org/dri-devel/Zfsj0_tb-0-tNrJy@cassiopeiae/T/#u [1] Link: https://lwn.net/Articles/990736/ [2] Link: https://youtu.be/3Igmx28B3BQ?si=sBdSEer4tAPKGpOs [3] Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Link: https://lore.kernel.org/r/20250306222336.23482-5-dakr@kernel.org Signed-off-by: Danilo Krummrich <dakr@kernel.org>
21 lines
367 B
Rust
21 lines
367 B
Rust
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
//! Nova Core GPU Driver
|
|
|
|
mod driver;
|
|
mod firmware;
|
|
mod gpu;
|
|
mod regs;
|
|
mod util;
|
|
|
|
kernel::module_pci_driver! {
|
|
type: driver::NovaCore,
|
|
name: "NovaCore",
|
|
author: "Danilo Krummrich",
|
|
description: "Nova Core GPU driver",
|
|
license: "GPL v2",
|
|
firmware: [],
|
|
}
|
|
|
|
kernel::module_firmware!(firmware::ModInfoBuilder);
|