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 <[email protected]>
>> ---
>> 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.