Struct zircon_object::dev::PCIeBusDriver [−][src]
PCIE Bus Driver.
Implementations
impl PCIeBusDriver
[src]
pub fn add_bus_region(base: u64, size: u64, aspace: PciAddrSpace) -> ZxResult
[src]
Add bus region.
pub fn sub_bus_region(base: u64, size: u64, aspace: PciAddrSpace) -> ZxResult
[src]
Subtract bus region.
pub fn set_address_translation_provider(
provider: Arc<dyn PCIeAddressProvider>
) -> ZxResult
[src]
provider: Arc<dyn PCIeAddressProvider>
) -> ZxResult
A PcieAddressProvider translates a BDF address to an address that the system can use to access ECAMs.
pub fn add_root(bus_id: usize, lut: PciIrqSwizzleLut) -> ZxResult
[src]
Add a root bus to the driver and attempt to scan it for devices.
pub fn start_bus_driver() -> ZxResult
[src]
Start the bus driver.
pub fn get_nth_device(
n: usize
) -> ZxResult<(PcieDeviceInfo, Arc<PcieDeviceKObject>)>
[src]
n: usize
) -> ZxResult<(PcieDeviceInfo, Arc<PcieDeviceKObject>)>
Get the “Nth” device.
impl PCIeBusDriver
[src]
pub fn get_config(
&self,
bus_id: usize,
dev_id: usize,
func_id: usize
) -> Option<(Arc<PciConfig>, PhysAddr)>
[src]
&self,
bus_id: usize,
dev_id: usize,
func_id: usize
) -> Option<(Arc<PciConfig>, PhysAddr)>
Get a device’s config.
pub fn link_device_to_upstream(
&self,
down: Arc<dyn IPciNode>,
up: Weak<dyn IPciNode>
)
[src]
&self,
down: Arc<dyn IPciNode>,
up: Weak<dyn IPciNode>
)
Link a device to an upstream node.
pub fn find_legacy_irq_handler(
&self,
irq_id: u32
) -> ZxResult<Arc<SharedLegacyIrqHandler>>
[src]
&self,
irq_id: u32
) -> ZxResult<Arc<SharedLegacyIrqHandler>>
Find the legacy IRQ handler.
Auto Trait Implementations
impl !RefUnwindSafe for PCIeBusDriver
impl Send for PCIeBusDriver
impl Sync for PCIeBusDriver
impl Unpin for PCIeBusDriver
impl !UnwindSafe for PCIeBusDriver
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,