[PATCH 3/7] gpu: nova-core: firmware: fwsec: use dma::Coherent

From: Alexandre Courbot

Date: Sat Mar 21 2026 - 09:38:42 EST


Replace the nova-core local `DmaObject` with a `Coherent` that can
fulfill the same role.

Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
---
drivers/gpu/nova-core/firmware/fwsec/bootloader.rs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/nova-core/firmware/fwsec/bootloader.rs b/drivers/gpu/nova-core/firmware/fwsec/bootloader.rs
index 342dba59b2f9..7c6bb0a871c1 100644
--- a/drivers/gpu/nova-core/firmware/fwsec/bootloader.rs
+++ b/drivers/gpu/nova-core/firmware/fwsec/bootloader.rs
@@ -12,6 +12,7 @@
self,
Device, //
},
+ dma::Coherent,
prelude::*,
ptr::{
Alignable,
@@ -25,7 +26,6 @@
};

use crate::{
- dma::DmaObject,
driver::Bar0,
falcon::{
self,
@@ -126,7 +126,7 @@ unsafe impl AsBytes for BootloaderDmemDescV2 {}
/// operation.
pub(crate) struct FwsecFirmwareWithBl {
/// DMA object the bootloader will copy the firmware from.
- _firmware_dma: DmaObject,
+ _firmware_dma: Coherent<[u8]>,
/// Code of the bootloader to be loaded into non-secure IMEM.
ucode: KVec<u8>,
/// Descriptor to be loaded into DMEM for the bootloader to read.
@@ -208,7 +208,7 @@ pub(crate) fn new(

(
align_padding,
- DmaObject::from_data(dev, firmware_obj.as_slice())?,
+ Coherent::from_slice(dev, firmware_obj.as_slice(), GFP_KERNEL)?,
)
};


--
2.53.0