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

Reply via email to