diff options
| author | Alexandre Courbot <acourbot@nvidia.com> | 2026-03-06 07:52:42 +0300 |
|---|---|---|
| committer | Alexandre Courbot <acourbot@nvidia.com> | 2026-03-09 04:35:40 +0300 |
| commit | 9725005e2b4bac2f490bef2165eab18fc36b5b67 (patch) | |
| tree | 74427afeac29fef76402942e50527efd17e87032 | |
| parent | 99d451cb8e76bd299b036003f067959816975b9c (diff) | |
| download | linux-9725005e2b4bac2f490bef2165eab18fc36b5b67.tar.xz | |
gpu: nova-core: move brom_params and boot_addr to FalconFirmware
These methods are relevant no matter the loading method used, thus move
them to the common `FalconFirmware` trait.
Reviewed-by: Eliot Courtney <ecourtney@nvidia.com>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/20260306-turing_prep-v11-5-8f0042c5d026@nvidia.com
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
| -rw-r--r-- | drivers/gpu/nova-core/falcon.rs | 12 | ||||
| -rw-r--r-- | drivers/gpu/nova-core/firmware/booter.rs | 8 | ||||
| -rw-r--r-- | drivers/gpu/nova-core/firmware/fwsec.rs | 8 |
3 files changed, 14 insertions, 14 deletions
diff --git a/drivers/gpu/nova-core/falcon.rs b/drivers/gpu/nova-core/falcon.rs index 450431804e1c..c90664efb0c5 100644 --- a/drivers/gpu/nova-core/falcon.rs +++ b/drivers/gpu/nova-core/falcon.rs @@ -367,12 +367,6 @@ pub(crate) trait FalconDmaLoadable { /// Returns the load parameters for `DMEM`. fn dmem_load_params(&self) -> FalconDmaLoadTarget; - - /// Returns the parameters to write into the BROM registers. - fn brom_params(&self) -> FalconBromParams; - - /// Returns the start address of the firmware. - fn boot_addr(&self) -> u32; } /// Trait for a falcon firmware. @@ -381,6 +375,12 @@ pub(crate) trait FalconDmaLoadable { pub(crate) trait FalconFirmware { /// Engine on which this firmware is to be loaded. type Target: FalconEngine; + + /// Returns the parameters to write into the BROM registers. + fn brom_params(&self) -> FalconBromParams; + + /// Returns the start address of the firmware. + fn boot_addr(&self) -> u32; } /// Contains the base parameters common to all Falcon instances. diff --git a/drivers/gpu/nova-core/firmware/booter.rs b/drivers/gpu/nova-core/firmware/booter.rs index 97b2776db5a3..de2a4536b532 100644 --- a/drivers/gpu/nova-core/firmware/booter.rs +++ b/drivers/gpu/nova-core/firmware/booter.rs @@ -414,6 +414,10 @@ impl FalconDmaLoadable for BooterFirmware { fn dmem_load_params(&self) -> FalconDmaLoadTarget { self.dmem_load_target.clone() } +} + +impl FalconFirmware for BooterFirmware { + type Target = Sec2; fn brom_params(&self) -> FalconBromParams { self.brom_params.clone() @@ -427,7 +431,3 @@ impl FalconDmaLoadable for BooterFirmware { } } } - -impl FalconFirmware for BooterFirmware { - type Target = Sec2; -} diff --git a/drivers/gpu/nova-core/firmware/fwsec.rs b/drivers/gpu/nova-core/firmware/fwsec.rs index 7ac5cfeb594d..ca51d7c5be13 100644 --- a/drivers/gpu/nova-core/firmware/fwsec.rs +++ b/drivers/gpu/nova-core/firmware/fwsec.rs @@ -196,6 +196,10 @@ impl FalconDmaLoadable for FwsecFirmware { fn dmem_load_params(&self) -> FalconDmaLoadTarget { self.desc.dmem_load_params() } +} + +impl FalconFirmware for FwsecFirmware { + type Target = Gsp; fn brom_params(&self) -> FalconBromParams { FalconBromParams { @@ -210,10 +214,6 @@ impl FalconDmaLoadable for FwsecFirmware { } } -impl FalconFirmware for FwsecFirmware { - type Target = Gsp; -} - impl FirmwareObject<FwsecFirmware, Unsigned> { fn new_fwsec(bios: &Vbios, cmd: FwsecCommand) -> Result<Self> { let desc = bios.fwsec_image().header()?; |
