class PcieRoot

Defined at line 21 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

Public Methods

void PcieRoot (const PcieRoot & )

Disallow copying, assigning and moving.

Defined at line 24 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

void PcieRoot (PcieRoot && )

Disallow copying, assigning and moving.

Defined at line 24 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

PcieRoot & operator= (const PcieRoot & )

Disallow copying, assigning and moving.

Defined at line 24 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

PcieRoot & operator= (PcieRoot && )

Disallow copying, assigning and moving.

Defined at line 24 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

void AddRef ()

Implement ref counting, do not let derived classes override.

Defined at line 27 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

void Adopt ()

Implement ref counting, do not let derived classes override.

Defined at line 27 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

bool Release ()

Implement ref counting, do not let derived classes override.

Defined at line 27 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

zx_status_t EnableBusMasterUpstream (bool enable)

PCIE roots are already at the top of the topology so there

is no action necessary.

Defined at line 31 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

zx_status_t Swizzle (uint dev_id, uint func_id, uint pin, uint * irq)

Perform the swizzle for the root which this swizzle interface applies to.

When legacy IRQs traverse PCI/PCIe roots, they are subject to a platform

specific IRQ swizzle operation. Platforms must supply an implementation

of this method for when they add a root to the bus driver before startup.

Parameters

dev_id The device ID of the pcie device/bridge to swizzle for.
func_id The function ID of the pcie device/bridge to swizzle for.
pin The pin we want to swizzle
irq An output pointer for what IRQ this pin goes to

Returns

ZX_OK if we successfully swizzled

ZX_ERR_NOT_FOUND if we did not know how to swizzle this pin

PcieBusDriver & driver ()

Properties

Defined at line 33 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

RegionAllocator & pf_mmio_regions ()

Defined at line 34 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

RegionAllocator & mmio_lo_regions ()

Defined at line 35 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

RegionAllocator & mmio_hi_regions ()

Defined at line 36 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

RegionAllocator & pio_regions ()

Defined at line 37 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

uint GetKey ()

WAVL-tree Index

Defined at line 55 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_root.h

Protected Methods

void PcieRoot (PcieBusDriver & bus_drv, uint mbus_id)

TODO(johngro) : Add support for RCRB (root complex register block) Consider splitting

PcieRoot into PciRoot and PcieRoot (since PciRoots don't have RCRBs)

Defined at line 12 of file ../../zircon/kernel/dev/pcie/pcie_root.cc