Alexandre Courbot
2025-Nov-19 02:59 UTC
[PATCH 04/11] gpu: nova-core: add support for Turing/GA100 fwsignature
On Sat Nov 15, 2025 at 8:30 AM JST, Timur Tabi wrote:> Turing and GA100 share the same GSP-RM firmware binary, and the > signature ELF section is labeled ".fwsignature_tu10x". > > Signed-off-by: Timur Tabi <ttabi at nvidia.com> > --- > drivers/gpu/nova-core/firmware/gsp.rs | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/nova-core/firmware/gsp.rs b/drivers/gpu/nova-core/firmware/gsp.rs > index 0549805282ab..aa5a6433c377 100644 > --- a/drivers/gpu/nova-core/firmware/gsp.rs > +++ b/drivers/gpu/nova-core/firmware/gsp.rs > @@ -163,9 +163,14 @@ pub(crate) fn new<'a, 'b>( > let fw_section = elf::elf64_section(fw.data(), ".fwimage").ok_or(EINVAL)?; > > let sigs_section = match chipset.arch() { > - Architecture::Ampere => ".fwsignature_ga10x", > + Architecture::Turing | Architecture::Ampere => > + if chipset > Chipset::GA100 { > + ".fwsignature_ga10x" > + } else { > + // GA100 uses the same firmware as Turing > + ".fwsignature_tu10x" > + },Following up the point I raised on patch 3, this could be another site where we use a potential `Chipset::has_bootloader_thing` or any more fittingly named method.
Timur Tabi
2025-Nov-19 05:17 UTC
[PATCH 04/11] gpu: nova-core: add support for Turing/GA100 fwsignature
On Wed, 2025-11-19 at 11:59 +0900, Alexandre Courbot wrote:> Following up the point I raised on patch 3, this could be another site > where we use a potential `Chipset::has_bootloader_thing` or any more > fittingly named method.This is the signature for the GSP-RM ELF image, not the bootloaders.
Alexandre Courbot
2025-Nov-19 07:11 UTC
[PATCH 04/11] gpu: nova-core: add support for Turing/GA100 fwsignature
On Wed Nov 19, 2025 at 11:59 AM JST, Alexandre Courbot wrote:> On Sat Nov 15, 2025 at 8:30 AM JST, Timur Tabi wrote: >> Turing and GA100 share the same GSP-RM firmware binary, and the >> signature ELF section is labeled ".fwsignature_tu10x". >> >> Signed-off-by: Timur Tabi <ttabi at nvidia.com> >> --- >> drivers/gpu/nova-core/firmware/gsp.rs | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/nova-core/firmware/gsp.rs b/drivers/gpu/nova-core/firmware/gsp.rs >> index 0549805282ab..aa5a6433c377 100644 >> --- a/drivers/gpu/nova-core/firmware/gsp.rs >> +++ b/drivers/gpu/nova-core/firmware/gsp.rs >> @@ -163,9 +163,14 @@ pub(crate) fn new<'a, 'b>( >> let fw_section = elf::elf64_section(fw.data(), ".fwimage").ok_or(EINVAL)?; >> >> let sigs_section = match chipset.arch() { >> - Architecture::Ampere => ".fwsignature_ga10x", >> + Architecture::Turing | Architecture::Ampere => >> + if chipset > Chipset::GA100 { >> + ".fwsignature_ga10x" >> + } else { >> + // GA100 uses the same firmware as Turing >> + ".fwsignature_tu10x" >> + }, > > Following up the point I raised on patch 3, this could be another site > where we use a potential `Chipset::has_bootloader_thing` or any more > fittingly named method.Ah right, that's unrelated. In this case can we just express the exception as follows: let sigs_section = match chipset.arch() { Architecture::Turing => ".fwsignature_tu10x", // GA100 uses the same firmware name as Turing Architecture::Ampere if chipset > Chipset::GA100 => ".fwsignature_tu10x", Architecture::Ampere => ".fwsignature_ga10x", Architecture::Ada => ".fwsignature_ad10x", }; It treats GA100 as an exception instead of complicating the match for both Turing and Ampere.