On Sun Mar 1, 2026 at 11:03 PM JST, Alexandre Courbot wrote: > Not all firmware is necessarily loaded by DMA. Remove the requirement > for `FalconFirmware` to implement `FalconDmaLoadable`, and adapt > `Falcon`'s methods constraints accordingly. > > Signed-off-by: Alexandre Courbot <[email protected]> > --- > drivers/gpu/nova-core/falcon.rs | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/nova-core/falcon.rs b/drivers/gpu/nova-core/falcon.rs > index 9eb827477e5e..450431804e1c 100644 > --- a/drivers/gpu/nova-core/falcon.rs > +++ b/drivers/gpu/nova-core/falcon.rs > @@ -378,7 +378,7 @@ pub(crate) trait FalconDmaLoadable { > /// Trait for a falcon firmware. > /// > /// A falcon firmware can be loaded on a given engine. > -pub(crate) trait FalconFirmware: FalconDmaLoadable { > +pub(crate) trait FalconFirmware { > /// Engine on which this firmware is to be loaded. > type Target: FalconEngine; > } > @@ -521,7 +521,7 @@ fn dma_wr( > } > > /// Perform a DMA load into `IMEM` and `DMEM` of `fw`, and prepare the > falcon to run it. > - fn dma_load<F: FalconFirmware<Target = E>>( > + fn dma_load<F: FalconFirmware<Target = E> + FalconDmaLoadable>( > &self, > dev: &Device<device::Bound>, > bar: &Bar0, > @@ -660,7 +660,7 @@ pub(crate) fn is_riscv_active(&self, bar: &Bar0) -> bool { > } > > // Load a firmware image into Falcon memory > - pub(crate) fn load<F: FalconFirmware<Target = E>>( > + pub(crate) fn load<F: FalconFirmware<Target = E> + FalconDmaLoadable>( > &self, > dev: &Device<device::Bound>, > bar: &Bar0,
Reviewed-by: Eliot Courtney <[email protected]>
