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

Alexandre Courbot
2026-03-26T15:22:32Z

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

Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
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 3b12d90d9412..bcb713a868e2 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,
io::{
register::WithBase, //
Io,
@@ -29,7 +30,6 @@
};

use crate::{
- dma::DmaObject,
driver::Bar0,
falcon::{
self,
@@ -129,7 +129,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.
@@ -211,7 +211,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