Not all firmware is necessarily loaded through DMA: the PIO loading method does not require shared memory between the CPU and GPU. Thus, move the requirement to dereference to a DMA object from `FalconFirmware` to the mode accurate `FalconDmaLoadable`.
Signed-off-by: Alexandre Courbot <[email protected]> --- drivers/gpu/nova-core/falcon.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/nova-core/falcon.rs b/drivers/gpu/nova-core/falcon.rs index 85918a03b37c..d2f27847f533 100644 --- a/drivers/gpu/nova-core/falcon.rs +++ b/drivers/gpu/nova-core/falcon.rs @@ -351,7 +351,7 @@ pub(crate) struct FalconDmaLoadTarget { } /// Trait for providing DMA load parameters of falcon firmwares. -pub(crate) trait FalconDmaLoadable { +pub(crate) trait FalconDmaLoadable: Deref<Target = DmaObject> { /// Returns the load parameters for Secure `IMEM`. fn imem_sec_load_params(&self) -> FalconDmaLoadTarget; @@ -373,7 +373,7 @@ pub(crate) trait FalconDmaLoadable { /// /// A falcon firmware can be loaded on a given engine, and is presented in the form of a DMA /// object. -pub(crate) trait FalconFirmware: FalconDmaLoadable + Deref<Target = DmaObject> { +pub(crate) trait FalconFirmware: FalconDmaLoadable { /// Engine on which this firmware is to be loaded. type Target: FalconEngine; } -- 2.53.0
