Commit a8883150 authored by Alexandre Courbot's avatar Alexandre Courbot
Browse files

gpu: nova-core: falcon: use dma::Coherent



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

Reviewed-by: default avatarGary Guo <gary@garyguo.net>
Reviewed-by: default avatarDanilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/20260327-b4-nova-dma-removal-v2-4-616e1d0b5cb3@nvidia.com


Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
parent 1f9283af
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
        Device, //
    },
    dma::{
        Coherent,
        DmaAddress,
        DmaMask, //
    },
@@ -28,7 +29,6 @@

use crate::{
    bounded_enum,
    dma::DmaObject,
    driver::Bar0,
    falcon::hal::LoadMethod,
    gpu::Chipset,
@@ -504,7 +504,7 @@ pub(crate) fn pio_load<F: FalconFirmware<Target = E> + FalconPioLoadable>(
    fn dma_wr(
        &self,
        bar: &Bar0,
        dma_obj: &DmaObject,
        dma_obj: &Coherent<[u8]>,
        target_mem: FalconMem,
        load_offsets: FalconDmaLoadTarget,
    ) -> Result {
@@ -614,7 +614,7 @@ fn dma_load<F: FalconFirmware<Target = E> + FalconDmaLoadable>(
        fw: &F,
    ) -> Result {
        // Create DMA object with firmware content as the source of the DMA engine.
        let dma_obj = DmaObject::from_data(dev, fw.as_slice())?;
        let dma_obj = Coherent::from_slice(dev, fw.as_slice(), GFP_KERNEL)?;

        self.dma_reset(bar);
        bar.update(regs::NV_PFALCON_FBIF_TRANSCFG::of::<E>().at(0), |v| {