[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DFSP8MA4MZA5.3A6IQ1HS6UF8G@garyguo.net>
Date: Mon, 19 Jan 2026 16:16:48 +0000
From: "Gary Guo" <gary@...yguo.net>
To: "Alexandre Courbot" <acourbot@...dia.com>, "Danilo Krummrich"
<dakr@...nel.org>, "Alice Ryhl" <aliceryhl@...gle.com>, "David Airlie"
<airlied@...il.com>, "Simona Vetter" <simona@...ll.ch>
Cc: "John Hubbard" <jhubbard@...dia.com>, "Alistair Popple"
<apopple@...dia.com>, "Joel Fernandes" <joelagnelf@...dia.com>, "Timur
Tabi" <ttabi@...dia.com>, "Edwin Peer" <epeer@...dia.com>, "Eliot Courtney"
<ecourtney@...dia.com>, <nouveau@...ts.freedesktop.org>,
<dri-devel@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>,
<rust-for-linux@...r.kernel.org>, "Lyude Paul" <lyude@...hat.com>
Subject: Re: [PATCH v2 06/10] gpu: nova-core: gsp: derive Zeroable for
GspStaticConfigInfo
On Tue Dec 16, 2025 at 4:27 AM GMT, Alexandre Courbot wrote:
> We can derive `Zeroable` automatically instead of implementing it
> ourselves if we convert it from a tuple struct into a regular one. This
> removes an `unsafe` statement.
With latest pin-init changes you should be able to derive `Zeroable` on tuple
structs now, no need to convert.
Best,
Gary
>
> Reviewed-by: Lyude Paul <lyude@...hat.com>
> Signed-off-by: Alexandre Courbot <acourbot@...dia.com>
> ---
> drivers/gpu/nova-core/gsp/fw/commands.rs | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/nova-core/gsp/fw/commands.rs b/drivers/gpu/nova-core/gsp/fw/commands.rs
> index 21be44199693..85465521de32 100644
> --- a/drivers/gpu/nova-core/gsp/fw/commands.rs
> +++ b/drivers/gpu/nova-core/gsp/fw/commands.rs
> @@ -107,12 +107,15 @@ unsafe impl FromBytes for PackedRegistryTable {}
>
> /// Payload of the `GetGspStaticInfo` command and message.
> #[repr(transparent)]
> -pub(crate) struct GspStaticConfigInfo(bindings::GspStaticConfigInfo_t);
> +#[derive(Zeroable)]
> +pub(crate) struct GspStaticConfigInfo {
> + inner: bindings::GspStaticConfigInfo_t,
> +}
>
> impl GspStaticConfigInfo {
> /// Returns a bytes array containing the (hopefully) zero-terminated name of this GPU.
> pub(crate) fn gpu_name_str(&self) -> [u8; 64] {
> - self.0.gpuNameString
> + self.inner.gpuNameString
> }
> }
>
> @@ -122,7 +125,3 @@ unsafe impl AsBytes for GspStaticConfigInfo {}
> // SAFETY: This struct only contains integer types for which all bit patterns
> // are valid.
> unsafe impl FromBytes for GspStaticConfigInfo {}
> -
> -// SAFETY: This struct only contains integer types and fixed-size arrays for which
> -// all bit patterns are valid.
> -unsafe impl Zeroable for GspStaticConfigInfo {}
Powered by blists - more mailing lists