[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DD8A11VBDFPO.3AP88V5D63JR5@nvidia.com>
Date: Fri, 03 Oct 2025 09:56:22 +0900
From: "Alexandre Courbot" <acourbot@...dia.com>
To: "Alistair Popple" <apopple@...dia.com>, "Alexandre Courbot"
<acourbot@...dia.com>
Cc: "Benno Lossin" <lossin@...nel.org>, <rust-for-linux@...r.kernel.org>,
<dri-devel@...ts.freedesktop.org>, <dakr@...nel.org>, "Miguel Ojeda"
<ojeda@...nel.org>, "Alex Gaynor" <alex.gaynor@...il.com>, "Boqun Feng"
<boqun.feng@...il.com>, "Gary Guo" <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>, "Andreas
Hindborg" <a.hindborg@...nel.org>, "Alice Ryhl" <aliceryhl@...gle.com>,
"Trevor Gross" <tmgross@...ch.edu>, "David Airlie" <airlied@...il.com>,
"Simona Vetter" <simona@...ll.ch>, "Maarten Lankhorst"
<maarten.lankhorst@...ux.intel.com>, "Maxime Ripard" <mripard@...nel.org>,
"Thomas Zimmermann" <tzimmermann@...e.de>, "John Hubbard"
<jhubbard@...dia.com>, "Joel Fernandes" <joelagnelf@...dia.com>, "Timur
Tabi" <ttabi@...dia.com>, <linux-kernel@...r.kernel.org>,
<nouveau@...ts.freedesktop.org>
Subject: Re: [PATCH v3 08/13] gpu: nova-core: Add bindings and accessors for
GspSystemInfo
On Fri Oct 3, 2025 at 8:38 AM JST, Alistair Popple wrote:
> On 2025-10-02 at 23:49 +1000, Alexandre Courbot <acourbot@...dia.com> wrote...
>> Hi Alistair, (+Benno as this concerns the `init!` macros)
>>
>> On Tue Sep 30, 2025 at 10:16 PM JST, Alistair Popple wrote:
>> > Adds bindings and an in-place initialiser for the GspSystemInfo struct.
>> >
>> > Signed-off-by: Alistair Popple <apopple@...dia.com>
>> >
>> > ---
>> >
>> > It would be good to move to using the `init!` macros at some point, but
>> > I couldn't figure out how to make that work to initialise an enum rather
>> > than a struct as is required for the transparent representation.
>>
>> Indeed we have to jump through a few (minor) hoops.
>>
>> First the `init!` macros do not seem to support tuple structs. They
>> match a `{` after the type name, which is not present in
>> `GspSystemInfo`. By turning it into a regular struct with a single
>> field, we can overcome this, and it doesn't affect the layout the
>> `#[repr(transparent)]` can still be used.
>
> I was thinking we should fix the `init!` macro to support tuple structs. Is
> there some fundamental reason `init!` couldn't be modified to support tuple
> structs? It seems like it would be nicer to fix that limitation rather than work
> around it here.
I took a look at it and quickly got lost in the macros's internals. :)
Let's see what Benno has to say about this. In the meantime, using a
single member is just as valid a constructs as a tuple struct for us.
Powered by blists - more mailing lists