Lines Matching refs:bus

51 	struct udevice *bus = dev->parent;  in dm_pci_get_bdf()  local
53 return PCI_ADD_BUS(bus->seq, pplat->devfn); in dm_pci_get_bdf()
63 struct udevice *bus; in pci_get_bus_max() local
68 uclass_foreach_dev(bus, uc) { in pci_get_bus_max()
69 if (bus->seq > ret) in pci_get_bus_max()
70 ret = bus->seq; in pci_get_bus_max()
95 int pci_bus_find_devfn(struct udevice *bus, pci_dev_t find_devfn, in pci_bus_find_devfn() argument
100 for (device_find_first_child(bus, &dev); in pci_bus_find_devfn()
117 struct udevice *bus; in dm_pci_bus_find_bdf() local
120 ret = pci_get_bus(PCI_BUS(bdf), &bus); in dm_pci_bus_find_bdf()
123 return pci_bus_find_devfn(bus, PCI_MASK_BUS(bdf), devp); in dm_pci_bus_find_bdf()
144 int pci_bus_find_devices(struct udevice *bus, struct pci_device_id *ids, in pci_bus_find_devices() argument
150 for (device_find_first_child(bus, &dev); in pci_bus_find_devices()
167 struct udevice *bus; in pci_find_device_id() local
170 for (uclass_first_device(UCLASS_PCI, &bus); in pci_find_device_id()
171 bus; in pci_find_device_id()
172 uclass_next_device(&bus)) { in pci_find_device_id()
173 if (!pci_bus_find_devices(bus, ids, &index, devp)) in pci_find_device_id()
181 static int dm_pci_bus_find_device(struct udevice *bus, unsigned int vendor, in dm_pci_bus_find_device() argument
188 for (device_find_first_child(bus, &dev); in dm_pci_bus_find_device()
206 struct udevice *bus; in dm_pci_find_device() local
209 for (uclass_first_device(UCLASS_PCI, &bus); in dm_pci_find_device()
210 bus; in dm_pci_find_device()
211 uclass_next_device(&bus)) { in dm_pci_find_device()
212 if (!dm_pci_bus_find_device(bus, vendor, device, &index, devp)) in dm_pci_find_device()
397 int pci_bus_write_config(struct udevice *bus, pci_dev_t bdf, int offset, in pci_bus_write_config() argument
402 ops = pci_get_ops(bus); in pci_bus_write_config()
405 return ops->write_config(bus, bdf, offset, value, size); in pci_bus_write_config()
408 int pci_bus_clrset_config32(struct udevice *bus, pci_dev_t bdf, int offset, in pci_bus_clrset_config32() argument
414 ret = pci_bus_read_config(bus, bdf, offset, &val, PCI_SIZE_32); in pci_bus_clrset_config32()
420 return pci_bus_write_config(bus, bdf, offset, val, PCI_SIZE_32); in pci_bus_clrset_config32()
426 struct udevice *bus; in pci_write_config() local
429 ret = pci_get_bus(PCI_BUS(bdf), &bus); in pci_write_config()
433 return pci_bus_write_config(bus, bdf, offset, value, size); in pci_write_config()
439 struct udevice *bus; in dm_pci_write_config() local
441 for (bus = dev; device_is_on_pci_bus(bus);) in dm_pci_write_config()
442 bus = bus->parent; in dm_pci_write_config()
443 return pci_bus_write_config(bus, dm_pci_get_bdf(dev), offset, value, in dm_pci_write_config()
477 int pci_bus_read_config(struct udevice *bus, pci_dev_t bdf, int offset, in pci_bus_read_config() argument
482 ops = pci_get_ops(bus); in pci_bus_read_config()
485 return ops->read_config(bus, bdf, offset, valuep, size); in pci_bus_read_config()
491 struct udevice *bus; in pci_read_config() local
494 ret = pci_get_bus(PCI_BUS(bdf), &bus); in pci_read_config()
498 return pci_bus_read_config(bus, bdf, offset, valuep, size); in pci_read_config()
504 struct udevice *bus; in dm_pci_read_config() local
506 for (bus = dev; device_is_on_pci_bus(bus);) in dm_pci_read_config()
507 bus = bus->parent; in dm_pci_read_config()
508 return pci_bus_read_config(bus, dm_pci_get_bdf(dev), offset, valuep, in dm_pci_read_config()
645 int pci_auto_config_devices(struct udevice *bus) in pci_auto_config_devices() argument
647 struct pci_controller *hose = bus->uclass_priv; in pci_auto_config_devices()
653 sub_bus = bus->seq; in pci_auto_config_devices()
656 for (ret = device_find_first_child(bus, &dev); in pci_auto_config_devices()
678 int dm_pci_hose_probe_bus(struct udevice *bus) in dm_pci_hose_probe_bus() argument
686 debug("%s: bus = %d/%s\n", __func__, sub_bus, bus->name); in dm_pci_hose_probe_bus()
687 dm_pciauto_prescan_setup_bridge(bus, sub_bus); in dm_pci_hose_probe_bus()
689 ret = device_probe(bus); in dm_pci_hose_probe_bus()
691 debug("%s: Cannot probe bus %s: %d\n", __func__, bus->name, in dm_pci_hose_probe_bus()
695 if (sub_bus != bus->seq) { in dm_pci_hose_probe_bus()
697 __func__, bus->name, bus->seq, sub_bus); in dm_pci_hose_probe_bus()
701 dm_pciauto_postscan_setup_bridge(bus, sub_bus); in dm_pci_hose_probe_bus()
831 int pci_bind_bus_devices(struct udevice *bus) in pci_bind_bus_devices() argument
840 end = PCI_BDF(bus->seq, PCI_MAX_PCI_DEVICES - 1, in pci_bind_bus_devices()
842 for (bdf = PCI_BDF(bus->seq, 0, 0); bdf <= end; in pci_bind_bus_devices()
851 ret = pci_bus_read_config(bus, bdf, PCI_HEADER_TYPE, in pci_bind_bus_devices()
855 pci_bus_read_config(bus, bdf, PCI_VENDOR_ID, &vendor, in pci_bind_bus_devices()
864 bus->seq, bus->name, PCI_DEV(bdf), PCI_FUNC(bdf)); in pci_bind_bus_devices()
865 pci_bus_read_config(bus, bdf, PCI_DEVICE_ID, &device, in pci_bind_bus_devices()
867 pci_bus_read_config(bus, bdf, PCI_CLASS_REVISION, &class, in pci_bind_bus_devices()
872 ret = pci_bus_find_devfn(bus, PCI_MASK_BUS(bdf), &dev); in pci_bind_bus_devices()
884 pci_bus_read_config(bus, bdf, in pci_bind_bus_devices()
890 ret = pci_find_and_bind_driver(bus, &find_id, bdf, in pci_bind_bus_devices()
1002 static int pci_uclass_pre_probe(struct udevice *bus) in pci_uclass_pre_probe() argument
1007 debug("%s, bus=%d/%s, parent=%s\n", __func__, bus->seq, bus->name, in pci_uclass_pre_probe()
1008 bus->parent->name); in pci_uclass_pre_probe()
1009 hose = bus->uclass_priv; in pci_uclass_pre_probe()
1012 if (!device_is_on_pci_bus(bus)) { in pci_uclass_pre_probe()
1013 hose->ctlr = bus; in pci_uclass_pre_probe()
1014 ret = decode_regions(hose, dev_ofnode(bus->parent), in pci_uclass_pre_probe()
1015 dev_ofnode(bus)); in pci_uclass_pre_probe()
1023 parent_hose = dev_get_uclass_priv(bus->parent); in pci_uclass_pre_probe()
1024 hose->ctlr = parent_hose->bus; in pci_uclass_pre_probe()
1026 hose->bus = bus; in pci_uclass_pre_probe()
1027 hose->first_busno = bus->seq; in pci_uclass_pre_probe()
1028 hose->last_busno = bus->seq; in pci_uclass_pre_probe()
1033 static int pci_uclass_post_probe(struct udevice *bus) in pci_uclass_post_probe() argument
1037 debug("%s: probing bus %d\n", __func__, bus->seq); in pci_uclass_post_probe()
1038 ret = pci_bind_bus_devices(bus); in pci_uclass_post_probe()
1043 ret = pci_auto_config_devices(bus); in pci_uclass_post_probe()
1062 if ((gd->flags & GD_FLG_RELOC) && (bus->seq == 0)) { in pci_uclass_post_probe()
1100 static int pci_bridge_read_config(struct udevice *bus, pci_dev_t bdf, in pci_bridge_read_config() argument
1104 struct pci_controller *hose = bus->uclass_priv; in pci_bridge_read_config()
1109 static int pci_bridge_write_config(struct udevice *bus, pci_dev_t bdf, in pci_bridge_write_config() argument
1113 struct pci_controller *hose = bus->uclass_priv; in pci_bridge_write_config()
1118 static int skip_to_next_device(struct udevice *bus, struct udevice **devp) in skip_to_next_device() argument
1127 device_find_first_child(bus, &dev); in skip_to_next_device()
1132 uclass_next_device(&bus); in skip_to_next_device()
1133 } while (bus); in skip_to_next_device()
1141 struct udevice *bus = child->parent; in pci_find_next_device() local
1154 uclass_next_device(&bus); in pci_find_next_device()
1156 return bus ? skip_to_next_device(bus, devp) : 0; in pci_find_next_device()
1161 struct udevice *bus; in pci_find_first_device() local
1164 uclass_first_device(UCLASS_PCI, &bus); in pci_find_first_device()
1166 return skip_to_next_device(bus, devp); in pci_find_first_device()
1211 struct udevice *bus = pci_get_controller(dev); in pci_get_regions() local
1212 struct pci_controller *hose = dev_get_uclass_priv(bus); in pci_get_regions()
1536 struct udevice *bus; in pci_init() local
1542 for (uclass_first_device(UCLASS_PCI, &bus); in pci_init()
1543 bus; in pci_init()
1544 uclass_next_device(&bus)) { in pci_init()