Lines Matching defs:pci
39 #include <dev/pci/pcireg.h>
40 #include <dev/pci/pcivar.h>
41 #include <dev/pci/pcidevs.h>
42 #include <dev/pci/ppbreg.h>
44 #include <dev/pci/pci_calls.h>
62 * Regarding PCI Segment Groups (ACPI 4.0, p. 277):
64 * "The optional _SEG object is located under a PCI host bridge and
65 * evaluates to an integer that describes the PCI Segment Group (see PCI
68 * "PCI Segment Group is purely a software concept managed by system
69 * firmware and used by OSPM. It is a logical collection of PCI buses
70 * (or bus segments). It is a way to logically group the PCI bus segments
71 * and PCI Express Hierarchies. _SEG is a level higher than _BBN."
73 * "PCI Segment Group supports more than 256 buses in a system by allowing
74 * the reuse of the PCI bus numbers. Within each PCI Segment Group, the bus
75 * numbers for the PCI buses must be unique. PCI buses in different PCI
80 * Regarding PCI Base Bus Numbers (ACPI 4.0, p. 277):
82 * "For multi-root PCI platforms, the _BBN object evaluates to the PCI bus
85 * a PCI host bridge and must be unique for every host bridge within a
86 * segment since it is the PCI bus number."
98 * Derive the PCI bus number of a PCI root bridge from its resources.
161 * Scan the ACPI device tree for PCI devices. A node is detected as a
162 * PCI device if it has an ancestor that is a PCI root bridge and such
163 * that all intermediate nodes are PCI-to-PCI bridges. Depth-first
166 * PCI root bridges do not necessarily contain an _ADR, since they already
168 * all non-root PCI devices.
181 * We attach PCI information only to devices that are present,
197 * If no _SEG exist, all PCI bus segments are assumed
198 * to be in the PCI segment group 0 (ACPI 4.0, p. 277).
219 "invalid PCI downstream bus for %s\n", ad->ad_name);
229 * This ACPI node denotes a PCI root bridge, but it may also
230 * denote a PCI device on the bridge's downstream bus segment.
242 "invalid PCI address for %s\n", ad->ad_name);
258 * Our parent is a PCI root bridge or a PCI-to-PCI
259 * bridge. We have the same PCI segment number, and
274 "invalid PCI address for %s\n", ad->ad_name);
283 * Assume that this device is not a PCI-to-PCI bridge.
288 * Check whether this device is a PCI-to-PCI
319 * Retrieve the secondary bus number of the PCI-to-PCI bridge having the
320 * given PCI id. If successful, return AE_OK and fill *downbus.
323 * XXX Need to deal with PCI segment groups (see also acpica/OsdHardware.c).
344 /* Check that this device is a PCI-to-PCI bridge. */
350 /* This is a PCI-to-PCI bridge. Get its secondary bus#. */
360 * Finds a PCI device in the ACPI name space.
391 * Returns a PCI chipset tag for a PCI device in the ACPI name space.
409 * Finds a PCI root bridge in the ACPI name space.
437 * Returns the device corresponding to the given PCI info, or NULL
444 struct pci_softc *pci;
464 if (pr == NULL || device_is_a(pr, "pci") != true)
467 pci = device_private(pr);
469 if (pci->sc_bus == ap->ap_bus &&
483 * Implements the "pci-bus-get-child-devhandle" device call for