mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
gpu: nova-core: register auxiliary device for nova-drm
Register an auxiliary device for nova-drm. For now always use zero for the auxiliary device's ID; we don't use it yet anyways. However, once it lands, we should switch to XArray. Acked-by: Dave Airlie <airlied@redhat.com> Link: https://lore.kernel.org/r/20250424160452.8070-2-dakr@kernel.org Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
42055939a3
commit
e041d81a03
3 changed files with 11 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
||||||
config NOVA_CORE
|
config NOVA_CORE
|
||||||
tristate "Nova Core GPU driver"
|
tristate "Nova Core GPU driver"
|
||||||
|
depends on AUXILIARY_BUS
|
||||||
depends on PCI
|
depends on PCI
|
||||||
depends on RUST
|
depends on RUST
|
||||||
depends on RUST_FW_LOADER_ABSTRACTIONS
|
depends on RUST_FW_LOADER_ABSTRACTIONS
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
use kernel::{bindings, c_str, device::Core, pci, prelude::*};
|
use kernel::{auxiliary, bindings, c_str, device::Core, pci, prelude::*};
|
||||||
|
|
||||||
use crate::gpu::Gpu;
|
use crate::gpu::Gpu;
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ use crate::gpu::Gpu;
|
||||||
pub(crate) struct NovaCore {
|
pub(crate) struct NovaCore {
|
||||||
#[pin]
|
#[pin]
|
||||||
pub(crate) gpu: Gpu,
|
pub(crate) gpu: Gpu,
|
||||||
|
_reg: auxiliary::Registration,
|
||||||
}
|
}
|
||||||
|
|
||||||
const BAR0_SIZE: usize = 8;
|
const BAR0_SIZE: usize = 8;
|
||||||
|
@ -38,6 +39,12 @@ impl pci::Driver for NovaCore {
|
||||||
let this = KBox::pin_init(
|
let this = KBox::pin_init(
|
||||||
try_pin_init!(Self {
|
try_pin_init!(Self {
|
||||||
gpu <- Gpu::new(pdev, bar)?,
|
gpu <- Gpu::new(pdev, bar)?,
|
||||||
|
_reg: auxiliary::Registration::new(
|
||||||
|
pdev.as_ref(),
|
||||||
|
c_str!("nova-drm"),
|
||||||
|
0, // TODO: Once it lands, use XArray; for now we don't use the ID.
|
||||||
|
crate::MODULE_NAME
|
||||||
|
)?,
|
||||||
}),
|
}),
|
||||||
GFP_KERNEL,
|
GFP_KERNEL,
|
||||||
)?;
|
)?;
|
||||||
|
|
|
@ -8,6 +8,8 @@ mod gpu;
|
||||||
mod regs;
|
mod regs;
|
||||||
mod util;
|
mod util;
|
||||||
|
|
||||||
|
pub(crate) const MODULE_NAME: &kernel::str::CStr = <LocalModule as kernel::ModuleMetadata>::NAME;
|
||||||
|
|
||||||
kernel::module_pci_driver! {
|
kernel::module_pci_driver! {
|
||||||
type: driver::NovaCore,
|
type: driver::NovaCore,
|
||||||
name: "NovaCore",
|
name: "NovaCore",
|
||||||
|
|
Loading…
Add table
Reference in a new issue