]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpu: nova-core: fb: use dma::CoherentHandle
authorAlexandre Courbot <acourbot@nvidia.com>
Thu, 26 Mar 2026 15:22:11 +0000 (00:22 +0900)
committerAlexandre Courbot <acourbot@nvidia.com>
Sat, 28 Mar 2026 13:20:08 +0000 (22:20 +0900)
Replace the nova-core local `DmaObject` with a `CoherentHandle` that can
fulfill the same role.

Reviewed-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/20260327-b4-nova-dma-removal-v2-5-616e1d0b5cb3@nvidia.com
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
drivers/gpu/nova-core/fb.rs

index 62fc90fa6a8446d12626e7c6b30d6ebeb116683f..bdd5eed760e1744f5033af5e0114d0ef22bcec80 100644 (file)
@@ -7,6 +7,7 @@ use core::ops::{
 
 use kernel::{
     device,
+    dma::CoherentHandle,
     fmt,
     io::Io,
     prelude::*,
@@ -19,7 +20,6 @@ use kernel::{
 };
 
 use crate::{
-    dma::DmaObject,
     driver::Bar0,
     firmware::gsp::GspFirmware,
     gpu::Chipset,
@@ -53,7 +53,7 @@ pub(crate) struct SysmemFlush {
     chipset: Chipset,
     device: ARef<device::Device>,
     /// Keep the page alive as long as we need it.
-    page: DmaObject,
+    page: CoherentHandle,
 }
 
 impl SysmemFlush {
@@ -63,7 +63,7 @@ impl SysmemFlush {
         bar: &Bar0,
         chipset: Chipset,
     ) -> Result<Self> {
-        let page = DmaObject::new(dev, kernel::page::PAGE_SIZE)?;
+        let page = CoherentHandle::alloc(dev, kernel::page::PAGE_SIZE, GFP_KERNEL)?;
 
         hal::fb_hal(chipset).write_sysmem_flush_page(bar, page.dma_handle())?;