[PATCH v2 7/8] gpu: nova-core: Add base files for r570.144 firmware bindings
John Hubbard
jhubbard at nvidia.com
Thu Aug 28 04:08:41 UTC 2025
On 8/25/25 9:07 PM, Alexandre Courbot wrote:
> From: Alistair Popple <apopple at nvidia.com>
>
> Interacting with the GSP currently requires using definitions from C
> header files. Rust definitions for the types needed for Nova core will
> be generated using the Rust bindgen tool. This patch adds the base
> module to allow inclusion of the generated bindings. The generated
> bindings themselves are added by subsequent patches when they are first
> used.
>
> Currently we only intend to support a single firmware version, 570.144,
> with these bindings. Longer term we intend to move to a more stable GSP
> interface that isn't tied to specific firmware versions.
>
> [acourbot at nvidia.com: adapt the bindings module comment a bit.]
>
> Signed-off-by: Alistair Popple <apopple at nvidia.com>
> Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
> ---
> drivers/gpu/nova-core/nova_core.rs | 1 +
> drivers/gpu/nova-core/nvfw.rs | 3 +++
> drivers/gpu/nova-core/nvfw/r570_144.rs | 29 +++++++++++++++++++++++++
> drivers/gpu/nova-core/nvfw/r570_144_bindings.rs | 1 +
> 4 files changed, 34 insertions(+)
>
Reviewed-by: John Hubbard <jhubbard at nvidia.com>
thanks,
--
John Hubbard
> diff --git a/drivers/gpu/nova-core/nova_core.rs b/drivers/gpu/nova-core/nova_core.rs
> index fffcaee2249fe6cd7f55a7291c1e44be42e791d9..db197498b0b7b1ff9234ef6645a4ea5ff44bd285 100644
> --- a/drivers/gpu/nova-core/nova_core.rs
> +++ b/drivers/gpu/nova-core/nova_core.rs
> @@ -10,6 +10,7 @@
> mod gfw;
> mod gpu;
> mod gsp;
> +mod nvfw;
> mod regs;
> mod util;
> mod vbios;
> diff --git a/drivers/gpu/nova-core/nvfw.rs b/drivers/gpu/nova-core/nvfw.rs
> new file mode 100644
> index 0000000000000000000000000000000000000000..7c5baccc34a2387c30e51f93d3ae039b14b6b83a
> --- /dev/null
> +++ b/drivers/gpu/nova-core/nvfw.rs
> @@ -0,0 +1,3 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +mod r570_144;
> diff --git a/drivers/gpu/nova-core/nvfw/r570_144.rs b/drivers/gpu/nova-core/nvfw/r570_144.rs
> new file mode 100644
> index 0000000000000000000000000000000000000000..2e7bba80fa8b9c5fcb4e26887825d2cca3f7b6b7
> --- /dev/null
> +++ b/drivers/gpu/nova-core/nvfw/r570_144.rs
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +//! Firmware bindings.
> +//!
> +//! Imports the generated bindings by `bindgen`.
> +//!
> +//! This module may not be directly used. Please abstract or re-export the needed symbols in the
> +//! parent module instead.
> +
> +#![cfg_attr(test, allow(deref_nullptr))]
> +#![cfg_attr(test, allow(unaligned_references))]
> +#![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]
> +#![allow(
> + dead_code,
> + unused_imports,
> + clippy::all,
> + clippy::undocumented_unsafe_blocks,
> + clippy::ptr_as_ptr,
> + clippy::ref_as_ptr,
> + missing_docs,
> + non_camel_case_types,
> + non_upper_case_globals,
> + non_snake_case,
> + improper_ctypes,
> + unreachable_pub,
> + unsafe_op_in_unsafe_fn
> +)]
> +use kernel::ffi;
> +include!("r570_144_bindings.rs");
> diff --git a/drivers/gpu/nova-core/nvfw/r570_144_bindings.rs b/drivers/gpu/nova-core/nvfw/r570_144_bindings.rs
> new file mode 100644
> index 0000000000000000000000000000000000000000..cec5940325151e407aa90128a35cb683afd436d7
> --- /dev/null
> +++ b/drivers/gpu/nova-core/nvfw/r570_144_bindings.rs
> @@ -0,0 +1 @@
> +// SPDX-License-Identifier: GPL-2.0
>
More information about the Nouveau
mailing list