Re: [PATCH v7 0/8] Transition Nova Core to TLV firmware images
"Alexandre Courbot" <[email protected]> Mon, 03 Aug 2026 22:51:54 +0900
| Newsgroups | org.kernel.vger.rust-for-linux,dev.linux.lists.driver-core,dev.linux.lists.nova-gpu |
|---|---|
| Message-ID | <[email protected]> |
On Sat Aug 1, 2026 at 5:10 AM JST, Timur Tabi wrote: > This patch set transitions nova-core to use the new "TLV" firmware image > files, instead of the ones that Nouveau uses. > > A prerequisite patch "rust: error: add remaining error codes" is required > to compile. [1] > > The current r570.144 images are a mix of binary headers and ELF files tha= t > are cumbersome to parse in Rust. There's a significant amount of code > that just reads in a struct, extracts some offset, and uses it to find > another struct, only to have nova-core use just a few fields. > > The new format uses a sequence of tag/length/value fields that can be > iterated over. The script that generates the TLV files, > extract-firmware-nova.py, does the extra work to find the specific metada= ta > needed by Nova and packages each one separately. > > The TLV versions of r570.144 can be found here: > > https://github.com/ttabi/linux-firmware-nova > > along with instructions on how to install them. We are not planning on > submitting these images to linux-firmware. Rather, if this patchset > is accepted upstream, I expect the small handful of people who are > actually working on Nova to grab and install these images, which needs > to be done only once. > > There are still opportunities for improvement. For example, I would like > to get rid of more GPU-specific code, especially the GA100 quirks. > > Note that there are plans to relocate these images into a different > /lib/firmware subdirectory, to further isolate them from the images that > Nouveau uses. > > [1] https://lore.kernel.org/rust-for-linux/20260629183022.2709524-1-ttabi= @nvidia.com/ Gave the series a run on tu106, ga107 and gb203, all successfully. Each patch also builds nicely without warnings or formatting issues. Since this also touches core Rust parts, it is preferable that Danilo merges it, so for the series: Reviewed-by: Alexandre Courbot <[email protected]> Tested-by: Alexandre Courbot <[email protected]> (note that [1] is also needed) [1] https://lore.kernel.org/all/[email protected]/