[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aAqaU-nX0YRKIGyl@pollux>
Date: Thu, 24 Apr 2025 22:08:51 +0200
From: Danilo Krummrich <dakr@...nel.org>
To: Joel Fernandes <joelagnelf@...dia.com>
Cc: Alexandre Courbot <acourbot@...dia.com>,
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>,
Benno Lossin <benno.lossin@...ton.me>,
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>,
Jonathan Corbet <corbet@....net>,
John Hubbard <jhubbard@...dia.com>, Ben Skeggs <bskeggs@...dia.com>,
Timur Tabi <ttabi@...dia.com>, Alistair Popple <apopple@...dia.com>,
linux-kernel@...r.kernel.org, rust-for-linux@...r.kernel.org,
nouveau@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH 13/16] gpu: nova-core: Add support for VBIOS ucode
extraction for boot
On Thu, Apr 24, 2025 at 02:54:42PM -0400, Joel Fernandes wrote:
>
>
> On 4/23/2025 10:06 AM, Danilo Krummrich wrote:
> [...]
> >> +
> >> + /// Probe for VBIOS extraction
> >> + /// Once the VBIOS object is built, bar0 is not read for vbios purposes anymore.
> >> + pub(crate) fn probe(bar0: &Devres<Bar0>) -> Result<Self> {
> >
> > Let's not call it probe(), what about VBios::parse(), or simply VBios::new()?
> >
>
> Yes, new() is better. I changed it.
>
> >> + // VBIOS data vector: As BIOS images are scanned, they are added to this vector
> >> + // for reference or copying into other data structures. It is the entire
> >> + // scanned contents of the VBIOS which progressively extends. It is used
> >> + // so that we do not re-read any contents that are already read as we use
> >> + // the cumulative length read so far, and re-read any gaps as we extend
> >> + // the length
> >> + let mut data = KVec::new();
> >> +
> >> + // Loop through all the BiosImage and extract relevant ones and relevant data from them
> >> + let mut cur_offset = 0;
> >
> > I suggest to create a new type that contains data and offset and implement
> > read_bios_image_at_offset() and friends as methods of this type. I think this
> > would turn out much cleaner.
> I moved it into struct Vbios {} itself instead of introducing a new type. Is
> that Ok?
>
> I agree it is cleaner. Please see below link for this particular refactor
> (moving data) and let me know if it looks Ok to you: http://bit.ly/4lHfDKZ
I still think a new type would be better, the Option<KVec<u8>> that is only used
for the construction of the actual type instance is a bit weird. It's basically
two types in one, which is also why you need two options -- better separate
them.
Powered by blists - more mailing lists