Lines Matching refs:bus

284 	pcibios_bus_to_resource(dev->bus, res, &region);  in __pci_read_base()
285 pcibios_resource_to_bus(dev->bus, &inverted_region, res); in __pci_read_base()
375 pcibios_bus_to_resource(dev->bus, res, &region); in pci_read_bridge_io()
397 pcibios_bus_to_resource(dev->bus, res, &region); in pci_read_bridge_mmio()
450 pcibios_bus_to_resource(dev->bus, res, &region); in pci_read_bridge_mmio_pref()
532 bridge->bus = b; in pci_alloc_host_bridge()
574 void pcie_update_link_speed(struct pci_bus *bus, u16 linksta) in pcie_update_link_speed() argument
576 bus->cur_bus_speed = pcie_link_speed[linksta & PCI_EXP_LNKSTA_CLS]; in pcie_update_link_speed()
611 static void pci_set_bus_speed(struct pci_bus *bus) in pci_set_bus_speed() argument
613 struct pci_dev *bridge = bus->self; in pci_set_bus_speed()
623 bus->max_bus_speed = agp_speed(agpstat & 8, agpstat & 7); in pci_set_bus_speed()
626 bus->cur_bus_speed = agp_speed(agpstat & 8, agpcmd & 7); in pci_set_bus_speed()
650 bus->max_bus_speed = max; in pci_set_bus_speed()
651 bus->cur_bus_speed = pcix_bus_speed[ in pci_set_bus_speed()
662 bus->max_bus_speed = pcie_link_speed[linkcap & PCI_EXP_LNKCAP_SLS]; in pci_set_bus_speed()
665 pcie_update_link_speed(bus, linksta); in pci_set_bus_speed()
669 static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus) in pci_host_bridge_msi_domain() argument
677 d = pci_host_bridge_of_msi_domain(bus); in pci_host_bridge_msi_domain()
682 static void pci_set_bus_msi_domain(struct pci_bus *bus) in pci_set_bus_msi_domain() argument
692 for (b = bus, d = NULL; !d && !pci_is_root_bus(b); b = b->parent) { in pci_set_bus_msi_domain()
700 dev_set_msi_domain(&bus->dev, d); in pci_set_bus_msi_domain()
804 int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pass) in pci_scan_bridge() argument
821 if (!primary && (primary != bus->number) && secondary && subordinate) { in pci_scan_bridge()
823 primary = bus->number; in pci_scan_bridge()
828 (primary != bus->number || secondary <= bus->number || in pci_scan_bridge()
859 child = pci_find_bus(pci_domain_nr(bus), secondary); in pci_scan_bridge()
861 child = pci_add_new_bus(bus, dev, secondary); in pci_scan_bridge()
900 child = pci_find_bus(pci_domain_nr(bus), max+1); in pci_scan_bridge()
902 child = pci_add_new_bus(bus, dev, max+1); in pci_scan_bridge()
937 struct pci_bus *parent = bus; in pci_scan_bridge()
938 if (pci_find_bus(pci_domain_nr(bus), in pci_scan_bridge()
970 pci_domain_nr(bus), child->number); in pci_scan_bridge()
973 while (bus->parent) { in pci_scan_bridge()
974 if ((child->busn_res.end > bus->busn_res.end) || in pci_scan_bridge()
975 (child->number > bus->busn_res.end) || in pci_scan_bridge()
976 (child->number < bus->number) || in pci_scan_bridge()
977 (child->busn_res.end < bus->number)) { in pci_scan_bridge()
980 (bus->number > child->busn_res.end && in pci_scan_bridge()
981 bus->busn_res.end < child->number) ? in pci_scan_bridge()
983 bus->self->transparent ? " transparent" : "", in pci_scan_bridge()
984 dev_name(&bus->dev), in pci_scan_bridge()
985 &bus->busn_res); in pci_scan_bridge()
987 bus = bus->parent; in pci_scan_bridge()
1189 dev->sysdata = dev->bus->sysdata; in pci_setup_device()
1190 dev->dev.parent = dev->bus->bridge; in pci_setup_device()
1191 dev->dev.bus = &pci_bus_type; in pci_setup_device()
1202 dev_set_name(&dev->dev, "%04x:%02x:%02x.%d", pci_domain_nr(dev->bus), in pci_setup_device()
1203 dev->bus->number, PCI_SLOT(dev->devfn), in pci_setup_device()
1259 pcibios_bus_to_resource(dev->bus, res, &region); in pci_setup_device()
1266 pcibios_bus_to_resource(dev->bus, res, &region); in pci_setup_device()
1275 pcibios_bus_to_resource(dev->bus, res, &region); in pci_setup_device()
1282 pcibios_bus_to_resource(dev->bus, res, &region); in pci_setup_device()
1523 pci_bus_put(pci_dev->bus); in pci_release_dev()
1528 struct pci_dev *pci_alloc_dev(struct pci_bus *bus) in pci_alloc_dev() argument
1538 dev->bus = pci_bus_get(bus); in pci_alloc_dev()
1544 bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *l, in pci_bus_read_dev_vendor_id() argument
1549 if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, l)) in pci_bus_read_dev_vendor_id()
1569 if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, l)) in pci_bus_read_dev_vendor_id()
1574 pci_domain_nr(bus), bus->number, PCI_SLOT(devfn), in pci_bus_read_dev_vendor_id()
1588 static struct pci_dev *pci_scan_device(struct pci_bus *bus, int devfn) in pci_scan_device() argument
1593 if (!pci_bus_read_dev_vendor_id(bus, devfn, &l, 60*1000)) in pci_scan_device()
1596 dev = pci_alloc_dev(bus); in pci_scan_device()
1607 pci_bus_put(dev->bus); in pci_scan_device()
1686 d = dev_get_msi_domain(&dev->bus->dev); in pci_set_msi_domain()
1719 void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) in pci_device_add() argument
1728 set_dev_node(&dev->dev, pcibus_to_node(bus)); in pci_device_add()
1754 list_add_tail(&dev->bus_list, &bus->devices); in pci_device_add()
1769 struct pci_dev *pci_scan_single_device(struct pci_bus *bus, int devfn) in pci_scan_single_device() argument
1773 dev = pci_get_slot(bus, devfn); in pci_scan_single_device()
1779 dev = pci_scan_device(bus, devfn); in pci_scan_single_device()
1783 pci_device_add(dev, bus); in pci_scan_single_device()
1789 static unsigned next_fn(struct pci_bus *bus, struct pci_dev *dev, unsigned fn) in next_fn() argument
1795 if (pci_ari_enabled(bus)) { in next_fn()
1817 static int only_one_child(struct pci_bus *bus) in only_one_child() argument
1819 struct pci_dev *parent = bus->self; in only_one_child()
1842 int pci_scan_slot(struct pci_bus *bus, int devfn) in pci_scan_slot() argument
1847 if (only_one_child(bus) && (devfn > 0)) in pci_scan_slot()
1850 dev = pci_scan_single_device(bus, devfn); in pci_scan_slot()
1856 for (fn = next_fn(bus, dev, 0); fn > 0; fn = next_fn(bus, dev, fn)) { in pci_scan_slot()
1857 dev = pci_scan_single_device(bus, devfn + fn); in pci_scan_slot()
1866 if (bus->self && nr) in pci_scan_slot()
1867 pcie_aspm_init_link_state(bus->self); in pci_scan_slot()
1913 dev->bus->self) in pcie_write_mps()
1926 mps = min(mps, pcie_get_mps(dev->bus->self)); in pcie_write_mps()
1997 void pcie_bus_configure_settings(struct pci_bus *bus) in pcie_bus_configure_settings() argument
2001 if (!bus->self) in pcie_bus_configure_settings()
2004 if (!pci_is_pcie(bus->self)) in pcie_bus_configure_settings()
2015 smpss = bus->self->pcie_mpss; in pcie_bus_configure_settings()
2017 pcie_find_smpss(bus->self, &smpss); in pcie_bus_configure_settings()
2018 pci_walk_bus(bus, pcie_find_smpss, &smpss); in pcie_bus_configure_settings()
2021 pcie_bus_configure_set(bus->self, &smpss); in pcie_bus_configure_settings()
2022 pci_walk_bus(bus, pcie_bus_configure_set, &smpss); in pcie_bus_configure_settings()
2026 unsigned int pci_scan_child_bus(struct pci_bus *bus) in pci_scan_child_bus() argument
2028 unsigned int devfn, pass, max = bus->busn_res.start; in pci_scan_child_bus()
2031 dev_dbg(&bus->dev, "scanning bus\n"); in pci_scan_child_bus()
2035 pci_scan_slot(bus, devfn); in pci_scan_child_bus()
2038 max += pci_iov_bus_range(bus); in pci_scan_child_bus()
2044 if (!bus->is_added) { in pci_scan_child_bus()
2045 dev_dbg(&bus->dev, "fixups for bus\n"); in pci_scan_child_bus()
2046 pcibios_fixup_bus(bus); in pci_scan_child_bus()
2047 bus->is_added = 1; in pci_scan_child_bus()
2051 list_for_each_entry(dev, &bus->devices, bus_list) { in pci_scan_child_bus()
2053 max = pci_scan_bridge(bus, dev, max, pass); in pci_scan_child_bus()
2063 dev_dbg(&bus->dev, "bus scan returning with max=%02x\n", max); in pci_scan_child_bus()
2080 void __weak pcibios_add_bus(struct pci_bus *bus) in pcibios_add_bus() argument
2084 void __weak pcibios_remove_bus(struct pci_bus *bus) in pcibios_remove_bus() argument
2088 struct pci_bus *pci_create_root_bus(struct device *parent, int bus, in pci_create_root_bus() argument
2106 b->number = b->busn_res.start = bus; in pci_create_root_bus()
2108 b2 = pci_find_bus(pci_domain_nr(b), bus); in pci_create_root_bus()
2121 dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus); in pci_create_root_bus()
2143 dev_set_name(&b->dev, "%04x:%02x", pci_domain_nr(b), bus); in pci_create_root_bus()
2164 pci_bus_insert_busn_res(b, bus, res->end); in pci_create_root_bus()
2195 int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int bus_max) in pci_bus_insert_busn_res() argument
2200 res->start = bus; in pci_bus_insert_busn_res()
2258 struct pci_bus *pci_scan_root_bus_msi(struct device *parent, int bus, in pci_scan_root_bus_msi() argument
2273 b = pci_create_root_bus(parent, bus, ops, sysdata, resources); in pci_scan_root_bus_msi()
2282 bus); in pci_scan_root_bus_msi()
2283 pci_bus_insert_busn_res(b, bus, 255); in pci_scan_root_bus_msi()
2294 struct pci_bus *pci_scan_root_bus(struct device *parent, int bus, in pci_scan_root_bus() argument
2297 return pci_scan_root_bus_msi(parent, bus, ops, sysdata, resources, in pci_scan_root_bus()
2302 struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, in pci_scan_bus() argument
2311 b = pci_create_root_bus(NULL, bus, ops, sysdata, &resources); in pci_scan_bus()
2335 struct pci_bus *bus = bridge->subordinate; in pci_rescan_bus_bridge_resize() local
2337 max = pci_scan_child_bus(bus); in pci_rescan_bus_bridge_resize()
2341 pci_bus_add_devices(bus); in pci_rescan_bus_bridge_resize()
2355 unsigned int pci_rescan_bus(struct pci_bus *bus) in pci_rescan_bus() argument
2359 max = pci_scan_child_bus(bus); in pci_rescan_bus()
2360 pci_assign_unassigned_bus_resources(bus); in pci_rescan_bus()
2361 pci_bus_add_devices(bus); in pci_rescan_bus()
2391 if (pci_domain_nr(a->bus) < pci_domain_nr(b->bus)) return -1; in pci_sort_bf_cmp()
2392 else if (pci_domain_nr(a->bus) > pci_domain_nr(b->bus)) return 1; in pci_sort_bf_cmp()
2394 if (a->bus->number < b->bus->number) return -1; in pci_sort_bf_cmp()
2395 else if (a->bus->number > b->bus->number) return 1; in pci_sort_bf_cmp()