gpu: nova-core: apply the one "use" item per line policy

As per [1], we need one "use" item per line, in order to reduce merge
conflicts. Furthermore, we need a trailing ", //" in order to tell
rustfmt(1) to leave it alone.

This does that for the entire nova-core driver.

[1] https://docs.kernel.org/rust/coding-guidelines.html#imports

Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
[acourbot@nvidia.com: remove imports already in prelude as pointed out
by Danilo.]
[acourbot@nvidia.com: remove a few unneeded trailing `//`.]
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Message-ID: <20251107021006.434109-1-jhubbard@nvidia.com>
This commit is contained in:
John Hubbard
2025-11-07 23:10:44 +09:00
committed by Alexandre Courbot
parent ade19c5060
commit 173c99b85a
22 changed files with 324 additions and 146 deletions
+10 -5
View File
@@ -2,12 +2,17 @@
//! Simple DMA object wrapper.
use core::ops::{Deref, DerefMut};
use core::ops::{
Deref,
DerefMut, //
};
use kernel::device;
use kernel::dma::CoherentAllocation;
use kernel::page::PAGE_SIZE;
use kernel::prelude::*;
use kernel::{
device,
dma::CoherentAllocation,
page::PAGE_SIZE,
prelude::*, //
};
pub(crate) struct DmaObject {
dma: CoherentAllocation<u8>,
+8 -3
View File
@@ -1,13 +1,18 @@
// SPDX-License-Identifier: GPL-2.0
use kernel::{
auxiliary, c_str,
auxiliary,
c_str,
device::Core,
pci,
pci::{Class, ClassMask, Vendor},
pci::{
Class,
ClassMask,
Vendor, //
},
prelude::*,
sizes::SZ_16M,
sync::Arc,
sync::Arc, //
};
use crate::gpu::Gpu;
+21 -13
View File
@@ -3,20 +3,28 @@
//! Falcon microprocessor base support
use core::ops::Deref;
use hal::FalconHal;
use kernel::device;
use kernel::dma::DmaAddress;
use kernel::io::poll::read_poll_timeout;
use kernel::prelude::*;
use kernel::sync::aref::ARef;
use kernel::time::delay::fsleep;
use kernel::time::Delta;
use crate::dma::DmaObject;
use crate::driver::Bar0;
use crate::gpu::Chipset;
use crate::regs;
use crate::regs::macros::RegisterBase;
use hal::FalconHal;
use kernel::{
device,
dma::DmaAddress,
io::poll::read_poll_timeout,
prelude::*,
sync::aref::ARef,
time::{
delay::fsleep,
Delta, //
},
};
use crate::{
dma::DmaObject,
driver::Bar0,
gpu::Chipset,
regs,
regs::macros::RegisterBase, //
};
pub(crate) mod gsp;
mod hal;
+10 -2
View File
@@ -2,8 +2,16 @@
use crate::{
driver::Bar0,
falcon::{Falcon, FalconEngine, PFalcon2Base, PFalconBase},
regs::{self, macros::RegisterBase},
falcon::{
Falcon,
FalconEngine,
PFalcon2Base,
PFalconBase, //
},
regs::{
self,
macros::RegisterBase, //
},
};
/// Type specifying the `Gsp` falcon engine. Cannot be instantiated.
+9 -3
View File
@@ -2,9 +2,15 @@
use kernel::prelude::*;
use crate::driver::Bar0;
use crate::falcon::{Falcon, FalconBromParams, FalconEngine};
use crate::gpu::Chipset;
use crate::{
driver::Bar0,
falcon::{
Falcon,
FalconBromParams,
FalconEngine, //
},
gpu::Chipset,
};
mod ga102;
+16 -8
View File
@@ -2,16 +2,24 @@
use core::marker::PhantomData;
use kernel::device;
use kernel::io::poll::read_poll_timeout;
use kernel::prelude::*;
use kernel::time::Delta;
use kernel::{
device,
io::poll::read_poll_timeout,
prelude::*,
time::Delta, //
};
use crate::driver::Bar0;
use crate::falcon::{
Falcon, FalconBromParams, FalconEngine, FalconModSelAlgo, PeregrineCoreSelect,
use crate::{
driver::Bar0,
falcon::{
Falcon,
FalconBromParams,
FalconEngine,
FalconModSelAlgo,
PeregrineCoreSelect, //
},
regs,
};
use crate::regs;
use super::FalconHal;
+8 -2
View File
@@ -1,7 +1,13 @@
// SPDX-License-Identifier: GPL-2.0
use crate::falcon::{FalconEngine, PFalcon2Base, PFalconBase};
use crate::regs::macros::RegisterBase;
use crate::{
falcon::{
FalconEngine,
PFalcon2Base,
PFalconBase, //
},
regs::macros::RegisterBase,
};
/// Type specifying the `Sec2` falcon engine. Cannot be instantiated.
pub(crate) struct Sec2(());
+16 -9
View File
@@ -2,16 +2,23 @@
use core::ops::Range;
use kernel::prelude::*;
use kernel::ptr::{Alignable, Alignment};
use kernel::sizes::*;
use kernel::sync::aref::ARef;
use kernel::{dev_warn, device};
use kernel::{
device,
prelude::*,
ptr::{
Alignable,
Alignment, //
},
sizes::*,
sync::aref::ARef, //
};
use crate::dma::DmaObject;
use crate::driver::Bar0;
use crate::gpu::Chipset;
use crate::regs;
use crate::{
dma::DmaObject,
driver::Bar0,
gpu::Chipset,
regs, //
};
mod hal;
+4 -2
View File
@@ -2,8 +2,10 @@
use kernel::prelude::*;
use crate::driver::Bar0;
use crate::gpu::Chipset;
use crate::{
driver::Bar0,
gpu::Chipset, //
};
mod ga100;
mod ga102;
+7 -5
View File
@@ -1,15 +1,17 @@
// SPDX-License-Identifier: GPL-2.0
struct Ga100;
use kernel::prelude::*;
use crate::driver::Bar0;
use crate::fb::hal::FbHal;
use crate::regs;
use crate::{
driver::Bar0,
fb::hal::FbHal,
regs, //
};
use super::tu102::FLUSH_SYSMEM_ADDR_SHIFT;
struct Ga100;
pub(super) fn read_sysmem_flush_page_ga100(bar: &Bar0) -> u64 {
u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR::read(bar).adr_39_08()) << FLUSH_SYSMEM_ADDR_SHIFT
| u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR_HI::read(bar).adr_63_40())
+5 -3
View File
@@ -2,9 +2,11 @@
use kernel::prelude::*;
use crate::driver::Bar0;
use crate::fb::hal::FbHal;
use crate::regs;
use crate::{
driver::Bar0,
fb::hal::FbHal,
regs, //
};
fn vidmem_size_ga102(bar: &Bar0) -> u64 {
regs::NV_USABLE_FB_SIZE_IN_MB::read(bar).usable_fb_size()
+6 -3
View File
@@ -1,10 +1,13 @@
// SPDX-License-Identifier: GPL-2.0
use crate::driver::Bar0;
use crate::fb::hal::FbHal;
use crate::regs;
use kernel::prelude::*;
use crate::{
driver::Bar0,
fb::hal::FbHal,
regs, //
};
/// Shift applied to the sysmem address before it is written into `NV_PFB_NISO_FLUSH_SYSMEM_ADDR`,
/// to be used by HALs.
pub(super) const FLUSH_SYSMEM_ADDR_SHIFT: u32 = 8;
+12 -9
View File
@@ -4,17 +4,20 @@
//! to be loaded into a given execution unit.
use core::marker::PhantomData;
use core::mem::size_of;
use kernel::device;
use kernel::firmware;
use kernel::prelude::*;
use kernel::str::CString;
use kernel::transmute::FromBytes;
use kernel::{
device,
firmware,
prelude::*,
str::CString,
transmute::FromBytes, //
};
use crate::dma::DmaObject;
use crate::falcon::FalconFirmware;
use crate::gpu;
use crate::{
dma::DmaObject,
falcon::FalconFirmware,
gpu, //
};
pub(crate) mod booter;
pub(crate) mod fwsec;
+29 -12
View File
@@ -4,20 +4,37 @@
//! running on [`Sec2`], that is used on Turing/Ampere to load the GSP firmware into the GSP falcon
//! (and optionally unload it through a separate firmware image).
use core::marker::PhantomData;
use core::mem::size_of;
use core::ops::Deref;
use core::{
marker::PhantomData,
ops::Deref, //
};
use kernel::device;
use kernel::prelude::*;
use kernel::transmute::FromBytes;
use kernel::{
device,
prelude::*,
transmute::FromBytes, //
};
use crate::dma::DmaObject;
use crate::driver::Bar0;
use crate::falcon::sec2::Sec2;
use crate::falcon::{Falcon, FalconBromParams, FalconFirmware, FalconLoadParams, FalconLoadTarget};
use crate::firmware::{BinFirmware, FirmwareDmaObject, FirmwareSignature, Signed, Unsigned};
use crate::gpu::Chipset;
use crate::{
dma::DmaObject,
driver::Bar0,
falcon::{
sec2::Sec2,
Falcon,
FalconBromParams,
FalconFirmware,
FalconLoadParams,
FalconLoadTarget, //
},
firmware::{
BinFirmware,
FirmwareDmaObject,
FirmwareSignature,
Signed,
Unsigned, //
},
gpu::Chipset,
};
/// Local convenience function to return a copy of `S` by reinterpreting the bytes starting at
/// `offset` in `slice`.
+36 -12
View File
@@ -10,20 +10,44 @@
//! - The command to be run, as this firmware can perform several tasks ;
//! - The ucode signature, so the GSP falcon can run FWSEC in HS mode.
use core::marker::PhantomData;
use core::mem::{align_of, size_of};
use core::ops::Deref;
use core::{
marker::PhantomData,
mem::{
align_of,
size_of, //
},
ops::Deref,
};
use kernel::device::{self, Device};
use kernel::prelude::*;
use kernel::transmute::FromBytes;
use kernel::{
device::{
self,
Device, //
},
prelude::*,
transmute::FromBytes,
};
use crate::dma::DmaObject;
use crate::driver::Bar0;
use crate::falcon::gsp::Gsp;
use crate::falcon::{Falcon, FalconBromParams, FalconFirmware, FalconLoadParams, FalconLoadTarget};
use crate::firmware::{FalconUCodeDescV3, FirmwareDmaObject, FirmwareSignature, Signed, Unsigned};
use crate::vbios::Vbios;
use crate::{
dma::DmaObject,
driver::Bar0,
falcon::{
gsp::Gsp,
Falcon,
FalconBromParams,
FalconFirmware,
FalconLoadParams,
FalconLoadTarget, //
},
firmware::{
FalconUCodeDescV3,
FirmwareDmaObject,
FirmwareSignature,
Signed,
Unsigned, //
},
vbios::Vbios,
};
const NVFW_FALCON_APPIF_ID_DMEMMAPPER: u32 = 0x4;
+22 -9
View File
@@ -2,16 +2,29 @@
use core::mem::size_of_val;
use kernel::device;
use kernel::dma::{DataDirection, DmaAddress};
use kernel::kvec;
use kernel::prelude::*;
use kernel::scatterlist::{Owned, SGTable};
use kernel::{
device,
dma::{
DataDirection,
DmaAddress, //
},
kvec,
prelude::*,
scatterlist::{
Owned,
SGTable, //
},
};
use crate::dma::DmaObject;
use crate::firmware::riscv::RiscvFirmware;
use crate::gpu::{Architecture, Chipset};
use crate::gsp::GSP_PAGE_SIZE;
use crate::{
dma::DmaObject,
firmware::riscv::RiscvFirmware,
gpu::{
Architecture,
Chipset, //
},
gsp::GSP_PAGE_SIZE,
};
/// Ad-hoc and temporary module to extract sections from ELF images.
///
+10 -6
View File
@@ -5,13 +5,17 @@
use core::mem::size_of;
use kernel::device;
use kernel::firmware::Firmware;
use kernel::prelude::*;
use kernel::transmute::FromBytes;
use kernel::{
device,
firmware::Firmware,
prelude::*,
transmute::FromBytes, //
};
use crate::dma::DmaObject;
use crate::firmware::BinFirmware;
use crate::{
dma::DmaObject,
firmware::BinFirmware, //
};
/// Descriptor for microcode running on a RISC-V core.
#[repr(C)]
+9 -5
View File
@@ -18,12 +18,16 @@
//!
//! Note that the devinit sequence also needs to run during suspend/resume.
use kernel::io::poll::read_poll_timeout;
use kernel::prelude::*;
use kernel::time::Delta;
use kernel::{
io::poll::read_poll_timeout,
prelude::*,
time::Delta, //
};
use crate::driver::Bar0;
use crate::regs;
use crate::{
driver::Bar0,
regs, //
};
/// Wait for the `GFW` (GPU firmware) boot completion signal (`GFW_BOOT`), or a 4 seconds timeout.
///
+20 -7
View File
@@ -1,13 +1,26 @@
// SPDX-License-Identifier: GPL-2.0
use kernel::{device, devres::Devres, error::code::*, fmt, pci, prelude::*, sync::Arc};
use kernel::{
device,
devres::Devres,
fmt,
pci,
prelude::*,
sync::Arc, //
};
use crate::driver::Bar0;
use crate::falcon::{gsp::Gsp as GspFalcon, sec2::Sec2 as Sec2Falcon, Falcon};
use crate::fb::SysmemFlush;
use crate::gfw;
use crate::gsp::Gsp;
use crate::regs;
use crate::{
driver::Bar0,
falcon::{
gsp::Gsp as GspFalcon,
sec2::Sec2 as Sec2Falcon,
Falcon, //
},
fb::SysmemFlush,
gfw,
gsp::Gsp,
regs,
};
macro_rules! define_chipset {
({ $($variant:ident = $value:expr),* $(,)* }) =>
+28 -14
View File
@@ -1,21 +1,35 @@
// SPDX-License-Identifier: GPL-2.0
use kernel::device;
use kernel::pci;
use kernel::prelude::*;
use kernel::{
device,
pci,
prelude::*, //
};
use crate::driver::Bar0;
use crate::falcon::{gsp::Gsp, sec2::Sec2, Falcon};
use crate::fb::FbLayout;
use crate::firmware::{
booter::{BooterFirmware, BooterKind},
fwsec::{FwsecCommand, FwsecFirmware},
gsp::GspFirmware,
FIRMWARE_VERSION,
use crate::{
driver::Bar0,
falcon::{
gsp::Gsp,
sec2::Sec2,
Falcon, //
},
fb::FbLayout,
firmware::{
booter::{
BooterFirmware,
BooterKind, //
},
fwsec::{
FwsecCommand,
FwsecFirmware, //
},
gsp::GspFirmware,
FIRMWARE_VERSION, //
},
gpu::Chipset,
regs,
vbios::Vbios,
};
use crate::gpu::Chipset;
use crate::regs;
use crate::vbios::Vbios;
impl super::Gsp {
/// Helper function to load and run the FWSEC-FRTS firmware and confirm that it has properly

Some files were not shown because too many files have changed in this diff Show More