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.

Reply via email to