mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
sample: rust: pci: add tests for config space routines
Add tests exercising the PCI configuration space helpers. Suggested-by: Danilo Krummrich <dakr@kernel.org> Signed-off-by: Zhi Wang <zhiw@nvidia.com> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Gary Guo <gary@garyguo.net> Link: https://patch.msgid.link/20260121202212.4438-6-zhiw@nvidia.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
4dc0bacb1d
commit
e62e48adf7
1 changed files with 26 additions and 0 deletions
|
|
@ -5,6 +5,7 @@
|
|||
//! To make this driver probe, QEMU must be run with `-device pci-testdev`.
|
||||
|
||||
use kernel::{
|
||||
device::Bound,
|
||||
device::Core,
|
||||
devres::Devres,
|
||||
io::Io,
|
||||
|
|
@ -65,6 +66,30 @@ impl SampleDriver {
|
|||
|
||||
Ok(bar.read32(Regs::COUNT))
|
||||
}
|
||||
|
||||
fn config_space(pdev: &pci::Device<Bound>) {
|
||||
let config = pdev.config_space();
|
||||
|
||||
// TODO: use the register!() macro for defining PCI configuration space registers once it
|
||||
// has been move out of nova-core.
|
||||
dev_info!(
|
||||
pdev.as_ref(),
|
||||
"pci-testdev config space read8 rev ID: {:x}\n",
|
||||
config.read8(0x8)
|
||||
);
|
||||
|
||||
dev_info!(
|
||||
pdev.as_ref(),
|
||||
"pci-testdev config space read16 vendor ID: {:x}\n",
|
||||
config.read16(0)
|
||||
);
|
||||
|
||||
dev_info!(
|
||||
pdev.as_ref(),
|
||||
"pci-testdev config space read32 BAR 0: {:x}\n",
|
||||
config.read32(0x10)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
impl pci::Driver for SampleDriver {
|
||||
|
|
@ -96,6 +121,7 @@ impl pci::Driver for SampleDriver {
|
|||
"pci-testdev data-match count: {}\n",
|
||||
Self::testdev(info, bar)?
|
||||
);
|
||||
Self::config_space(pdev);
|
||||
},
|
||||
pdev: pdev.into(),
|
||||
}))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue