class PcieUpstreamNode

Defined at line 29 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_upstream_node.h

PcieUpstreamNode

A class responsible for maintaining the state of a node in the graph of

PCI/PCIe devices which can have downstream children. PcieUpstreamNodes are

not instantiated directly, instead they serve as the base class of

PcieBridges and PcieRoots.

Public Methods

void ~PcieUpstreamNode ()

Defined at line 31 of file ../../zircon/kernel/dev/pcie/pcie_upstream_node.cc

void AddRef ()

Require that derived classes implement ref counting.

void Adopt ()

Require that derived classes implement ref counting.

void PcieUpstreamNode (const PcieUpstreamNode & )

Disallow copying, assigning and moving.

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

void PcieUpstreamNode (PcieUpstreamNode && )

Disallow copying, assigning and moving.

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

bool Release ()

Require that derived classes implement ref counting.

zx_status_t EnableBusMasterUpstream (bool enabled)
PcieUpstreamNode & operator= (const PcieUpstreamNode & )

Disallow copying, assigning and moving.

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

PcieUpstreamNode & operator= (PcieUpstreamNode && )

Disallow copying, assigning and moving.

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

fbl::RefPtr<PcieDevice> GetDownstream (uint ndx)

Defined at line 41 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_upstream_node.h

PcieBusDriver & driver ()

Defined at line 42 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_upstream_node.h

Type type ()

Defined at line 44 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_upstream_node.h

uint managed_bus_id ()

Defined at line 45 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_upstream_node.h

RegionAllocator & pf_mmio_regions ()
RegionAllocator & mmio_lo_regions ()
RegionAllocator & mmio_hi_regions ()
RegionAllocator & pio_regions ()

Protected Methods

void PcieUpstreamNode (PcieBusDriver & bus_drv, Type type, uint mbus_id)

Defined at line 54 of file ../../zircon/kernel/dev/pcie/include/dev/pcie_upstream_node.h

void AllocateDownstreamBars ()

Defined at line 40 of file ../../zircon/kernel/dev/pcie/pcie_upstream_node.cc

void DisableDownstream ()

Defined at line 55 of file ../../zircon/kernel/dev/pcie/pcie_upstream_node.cc

void ScanDownstream ()

Defined at line 71 of file ../../zircon/kernel/dev/pcie/pcie_upstream_node.cc

void UnplugDownstream ()

Defined at line 63 of file ../../zircon/kernel/dev/pcie/pcie_upstream_node.cc

fbl::RefPtr<PcieDevice> ScanDevice (const PciConfig * cfg, uint dev_id, uint func_id)

Defined at line 124 of file ../../zircon/kernel/dev/pcie/pcie_upstream_node.cc

Enumerations

enum Type
Name Value
ROOT 0
BRIDGE 1

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

Friends

class PcieBusDriver