Lines Matching refs:bus
164 #define DINO_CFG_TOK(bus,dfn,pos) ((u32) ((bus)<<16 | (dfn)<<8 | (pos))) argument
173 static int dino_cfg_read(struct pci_bus *bus, unsigned int devfn, int where, in dino_cfg_read() argument
176 struct dino_device *d = DINO_DEV(parisc_walk_tree(bus->bridge)); in dino_cfg_read()
177 u32 local_bus = (bus->parent == NULL) ? 0 : bus->busn_res.start; in dino_cfg_read()
208 static int dino_cfg_write(struct pci_bus *bus, unsigned int devfn, int where, in dino_cfg_write() argument
211 struct dino_device *d = DINO_DEV(parisc_walk_tree(bus->bridge)); in dino_cfg_write()
212 u32 local_bus = (bus->parent == NULL) ? 0 : bus->busn_res.start; in dino_cfg_write()
458 dino_card_setup(struct pci_bus *bus, void __iomem *base_addr) in dino_card_setup() argument
461 struct dino_device *dino_dev = DINO_DEV(parisc_walk_tree(bus->bridge)); in dino_card_setup()
469 dev_name(bus->bridge)); in dino_card_setup()
483 dev_name(bus->bridge)); in dino_card_setup()
485 list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) { in dino_card_setup()
491 bus->resource[1] = res; in dino_card_setup()
492 bus->resource[0] = &(dino_dev->hba.io_space); in dino_card_setup()
522 dino_cfg_write(dev->bus, dev->devfn, in dino_card_fixup()
534 dino_cfg_read(dev->bus, dev->devfn, PCI_INTERRUPT_PIN, 1, &irq_pin); in dino_card_fixup()
540 dino_cfg_write(dev->bus, dev->devfn, PCI_INTERRUPT_LINE, 1, dev->irq); in dino_card_fixup()
548 dino_fixup_bus(struct pci_bus *bus) in dino_fixup_bus() argument
551 struct dino_device *dino_dev = DINO_DEV(parisc_walk_tree(bus->bridge)); in dino_fixup_bus()
554 __func__, bus, bus->busn_res.start, in dino_fixup_bus()
555 bus->bridge->platform_data); in dino_fixup_bus()
559 dino_card_setup(bus, dino_dev->hba.base_addr); in dino_fixup_bus()
560 } else if (bus->parent) { in dino_fixup_bus()
563 pci_read_bridge_bases(bus); in dino_fixup_bus()
567 if((bus->self->resource[i].flags & in dino_fixup_bus()
571 if(bus->self->resource[i].flags & IORESOURCE_MEM) { in dino_fixup_bus()
578 …bus->self->resource[i].end = bus->self->resource[i].end - bus->self->resource[i].start + DINO_BRID… in dino_fixup_bus()
579 bus->self->resource[i].start = DINO_BRIDGE_ALIGN; in dino_fixup_bus()
584 dev_name(&bus->self->dev), i, in dino_fixup_bus()
585 &bus->self->resource[i]); in dino_fixup_bus()
586 WARN_ON(pci_assign_resource(bus->self, i)); in dino_fixup_bus()
588 dev_name(&bus->self->dev), i, in dino_fixup_bus()
589 &bus->self->resource[i]); in dino_fixup_bus()
594 list_for_each_entry(dev, &bus->devices, bus_list) { in dino_fixup_bus()
623 dino_cfg_read(dev->bus, dev->devfn, in dino_fixup_bus()
628 dino_cfg_write(dev->bus, dev->devfn, in dino_fixup_bus()
892 struct pci_bus *bus; in dino_probe() local
988 dino_dev->hba.hba_bus = bus = pci_create_root_bus(&dev->dev, in dino_probe()
990 if (!bus) { in dino_probe()
999 max = pci_scan_child_bus(bus); in dino_probe()
1000 pci_bus_update_busn_res_end(bus, max); in dino_probe()
1006 pci_bus_assign_resources(bus); in dino_probe()
1007 pci_bus_add_devices(bus); in dino_probe()