/linux-master/arch/powerpc/kernel/ |
H A D | msi.c | 14 struct pci_controller *phb = pci_bus_to_host(dev->bus); local 16 if (!phb->controller_ops.setup_msi_irqs || 17 !phb->controller_ops.teardown_msi_irqs) { 26 return phb->controller_ops.setup_msi_irqs(dev, nvec, type); 31 struct pci_controller *phb = pci_bus_to_host(dev->bus); local 37 if (phb->controller_ops.teardown_msi_irqs) 38 phb->controller_ops.teardown_msi_irqs(dev);
|
H A D | of_platform.c | 35 struct pci_controller *phb; local 44 phb = pcibios_alloc_controller(dev->dev.of_node); 45 if (!phb) 49 phb->parent = &dev->dev; 52 if (ppc_md.pci_setup_phb(phb)) { 53 pcibios_free_controller(phb); 58 pci_process_bridge_OF_ranges(phb, dev->dev.of_node, 0); 61 pci_devs_phb_init_dynamic(phb); 64 eeh_phb_pe_create(phb); 67 pcibios_scan_phb(phb); [all...] |
H A D | pci-hotplug.c | 43 if (!pdn || !pdn->phb || !pdn->phb->bus) 46 return find_bus_among_children(pdn->phb->bus, dn); 58 struct pci_controller *phb = pci_bus_to_host(dev->bus); local 61 if (phb->controller_ops.release_device) 62 phb->controller_ops.release_device(dev); 111 struct pci_controller *phb; local 114 phb = pci_bus_to_host(bus); 117 if (phb->controller_ops.probe_mode) 118 mode = phb [all...] |
H A D | io-workarounds.c | 35 struct pci_controller *phb = bus->phb; local 38 vstart = (unsigned long)phb->io_base_virt; 39 vend = vstart + phb->pci_io_size - 1; 46 res = &phb->mem_resources[j]; 170 void iowa_register_bus(struct pci_controller *phb, struct ppc_pci_io *ops, argument 174 struct device_node *np = phb->dn; 185 bus->phb = phb;
|
H A D | rtas_pci.c | 63 buid = pdn->phb->buid; 114 buid = pdn->phb->buid; 200 unsigned long get_phb_buid(struct device_node *phb) argument 206 if (of_address_to_resource(phb, 0, &r)) 212 struct pci_controller *phb) 222 phb->first_busno = be32_to_cpu(bus_range[0]); 223 phb->last_busno = be32_to_cpu(bus_range[1]); 228 int rtas_setup_phb(struct pci_controller *phb) argument 230 struct device_node *dev = phb->dn; 235 if (phb_set_bus_ranges(dev, phb)) 211 phb_set_bus_ranges(struct device_node *dev, struct pci_controller *phb) argument [all...] |
H A D | pci-common.c | 126 struct pci_controller *phb; local 128 phb = kzalloc(sizeof(struct pci_controller), GFP_KERNEL); 129 if (phb == NULL) 132 phb->global_number = get_phb_number(dev); 135 list_add_tail(&phb->list_node, &hose_list); 138 phb->dn = of_node_get(dev); 139 phb->is_dynamic = slab_is_available(); 147 PHB_SET_NODE(phb, nid); 150 return phb; 154 void pcibios_free_controller(struct pci_controller *phb) argument 197 struct pci_controller *phb = (struct pci_controller *) local 215 struct pci_controller *phb = pci_bus_to_host(bus); local 238 struct pci_controller *phb = pci_bus_to_host(dev->bus); local 1036 struct pci_controller *phb; local 1056 struct pci_controller *phb; local 1506 struct pci_controller *phb = pci_bus_to_host(dev->bus); local 1517 struct pci_controller *phb = pci_bus_to_host(dev->bus); local [all...] |
H A D | pci_dn.c | 141 edev->controller = pdn->phb; 161 pdn->phb = parent->phb; 297 pdn->phb = hose; 369 pdev = pci_get_domain_bus_and_slot(pdn->phb->global_number, 396 * because the start node is often a phb which may be missing PCI 409 /* We started with a phb, iterate all childs */ 461 * phb: pci-to-host bridge (top-level bridge connecting to cpu) 467 void pci_devs_phb_init_dynamic(struct pci_controller *phb) argument 469 struct device_node *dn = phb [all...] |
H A D | eeh_pe.c | 42 * @phb: PCI controller 47 static struct eeh_pe *eeh_pe_alloc(struct pci_controller *phb, int type) argument 64 pe->phb = phb; 75 * @phb: PCI controller 80 int eeh_phb_pe_create(struct pci_controller *phb) argument 85 pe = eeh_pe_alloc(phb, EEH_PE_PHB); 94 pr_debug("EEH: Add PE for PHB#%x\n", phb->global_number); 152 * @phb: PCI controller 158 struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb) argument 287 eeh_pe_get(struct pci_controller *phb, int pe_no) argument [all...] |
/linux-master/arch/powerpc/platforms/pseries/ |
H A D | pci_dlpar.c | 23 struct pci_controller *phb; local 27 phb = pcibios_alloc_controller(dn); 28 if (!phb) 30 rtas_setup_phb(phb); 31 pci_process_bridge_OF_ranges(phb, dn, 0); 32 phb->controller_ops = pseries_pci_controller_ops; 34 pci_devs_phb_init_dynamic(phb); 36 pseries_msi_allocate_domains(phb); 38 ppc_iommu_register_device(phb); 41 eeh_phb_pe_create(phb); 54 remove_phb_dynamic(struct pci_controller *phb) argument [all...] |
H A D | eeh_pseries.c | 104 struct pci_controller *phb = pdn->phb; local 113 config_addr, BUID_HI(phb->buid), 114 BUID_LO(phb->buid), 1); 120 config_addr, BUID_HI(phb->buid), 121 BUID_LO(phb->buid), 0); 124 __func__, phb->global_number, config_addr); 133 config_addr, BUID_HI(phb->buid), 134 BUID_LO(phb->buid), 0); 137 __func__, phb 162 pseries_eeh_phb_reset(struct pci_controller *phb, int config_addr, int option) argument 197 pseries_eeh_phb_configure_bridge(struct pci_controller *phb, int config_addr) argument 813 struct pci_controller *phb; local [all...] |
H A D | msi.c | 40 buid = pdn->phb->buid; 101 buid = pdn->phb->buid; 561 struct pci_controller *phb = domain->host_data; local 575 phb->dn, virq, hwirq, nr_irqs); 598 struct pci_controller *phb = irq_data_get_irq_chip_data(d); local 600 pr_debug("%s bridge %pOF %d #%d\n", __func__, phb->dn, virq, nr_irqs); 610 static int __pseries_msi_allocate_domains(struct pci_controller *phb, argument 615 phb->fwnode = irq_domain_alloc_named_id_fwnode("pSeries-MSI", 616 phb->global_number); 617 if (!phb 644 pseries_msi_allocate_domains(struct pci_controller *phb) argument 657 pseries_msi_free_domains(struct pci_controller *phb) argument [all...] |
/linux-master/arch/powerpc/platforms/powernv/ |
H A D | pci-ioda.c | 116 static struct pnv_ioda_pe *pnv_ioda_init_pe(struct pnv_phb *phb, int pe_no) argument 120 phb->ioda.pe_array[pe_no].phb = phb; 121 phb->ioda.pe_array[pe_no].pe_number = pe_no; 122 phb->ioda.pe_array[pe_no].dma_setup_done = false; 129 rc = opal_pci_eeh_freeze_clear(phb->opal_id, pe_no, 133 __func__, rc, phb->hose->global_number, pe_no); 135 return &phb->ioda.pe_array[pe_no]; 138 static void pnv_ioda_reserve_pe(struct pnv_phb *phb, in argument 155 pnv_ioda_alloc_pe(struct pnv_phb *phb, int count) argument 189 struct pnv_phb *phb = pe->phb; local 201 pnv_ioda2_init_m64(struct pnv_phb *phb) argument 257 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); local 297 struct pnv_phb *phb = pci_bus_to_pnvhb(bus); local 354 pnv_ioda_parse_m64_window(struct pnv_phb *phb) argument 441 pnv_ioda_freeze_pe(struct pnv_phb *phb, int pe_no) argument 481 pnv_ioda_unfreeze_pe(struct pnv_phb *phb, int pe_no, int opt) argument 521 pnv_ioda_get_pe_state(struct pnv_phb *phb, int pe_no) argument 583 pnv_pci_bdfn_to_pe(struct pnv_phb *phb, u16 bdfn) argument 595 struct pnv_phb *phb = pci_bus_to_pnvhb(dev->bus); local 605 pnv_ioda_set_one_peltv(struct pnv_phb *phb, struct pnv_ioda_pe *parent, struct pnv_ioda_pe *child, bool is_add) argument 642 pnv_ioda_set_peltv(struct pnv_phb *phb, struct pnv_ioda_pe *pe, bool is_add) argument 709 pnv_ioda_unset_peltv(struct pnv_phb *phb, struct pnv_ioda_pe *pe, struct pci_dev *parent) argument 737 pnv_ioda_deconfigure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe) argument 808 pnv_ioda_configure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe) argument 876 struct pnv_phb *phb = pci_bus_to_pnvhb(dev->bus); local 934 struct pnv_phb *phb = pci_bus_to_pnvhb(bus); local 995 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); local 1121 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); local 1158 pnv_ioda_get_inval_reg(struct pnv_phb *phb) argument 1212 struct pnv_phb *phb = pe->phb; local 1229 struct pnv_phb *phb = pe->phb; local 1282 struct pnv_phb *phb = pe->phb; local 1461 struct pnv_phb *phb = pe->phb; local 1588 pnv_pci_ioda2_setup_dma_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe) argument 1632 struct pnv_phb *phb = hose->private_data; local 1645 struct pnv_phb *phb = hose->private_data; local 1654 pnv_set_msi_irq_chip(struct pnv_phb *phb, unsigned int virq) argument 1690 __pnv_pci_ioda_msi_setup(struct pnv_phb *phb, struct pci_dev *dev, unsigned int xive_num, unsigned int is_64, struct msi_msg *msg) argument 1807 struct pnv_phb *phb = hose->private_data; local 1824 struct pnv_phb *phb = hose->private_data; local 1870 struct pnv_phb *phb = hose->private_data; local 1908 struct pnv_phb *phb = hose->private_data; local 1924 struct pnv_phb *phb = hose->private_data; local 1955 pnv_pci_init_ioda_msis(struct pnv_phb *phb) argument 1984 struct pnv_phb *phb = pe->phb; local 2076 struct pnv_phb *phb = data; local 2095 struct pnv_phb *phb = data; local 2126 struct pnv_phb *phb; local 2204 struct pnv_phb *phb = pci_bus_to_pnvhb(bus); local 2244 struct pnv_phb *phb = hose->private_data; local 2380 struct pnv_phb *phb = pe->phb; local 2401 struct pnv_phb *phb = pe->phb; local 2411 struct pnv_phb *phb = pe->phb; local 2455 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); local 2494 struct pnv_phb *phb = hose->private_data; local 2502 struct pnv_phb *phb = pci_bus_to_pnvhb(bus); local 2523 struct pnv_phb *phb = hose->private_data; local 2567 struct pnv_phb *phb; local 2819 struct pnv_phb *phb = pci_bus_to_pnvhb(dev->bus); local [all...] |
H A D | pci-cxl.c | 16 struct pnv_phb *phb = hose->private_data; local 26 rc = opal_pci_set_phb_cxl_mode(phb->opal_id, mode, pe->pe_number); 42 struct pnv_phb *phb = hose->private_data; local 43 int hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, num); 50 return phb->msi_base + hwirq; 57 struct pnv_phb *phb = hose->private_data; local 59 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq - phb->msi_base, num); 67 struct pnv_phb *phb = hose->private_data; local 76 hwirq = irqs->offset[i] - phb 87 struct pnv_phb *phb = hose->private_data; local 123 struct pnv_phb *phb = hose->private_data; local 133 struct pnv_phb *phb = hose->private_data; local [all...] |
H A D | pci-sriov.c | 145 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); local 156 mul = phb->ioda.total_pe_num; 180 if (vf_bar_sz > (phb->ioda.m64_segsize >> 2)) { 251 struct pnv_phb *phb = pci_bus_to_pnvhb(pdev->bus); local 281 return phb->ioda.total_pe_num * align; 287 struct pnv_phb *phb; local 290 phb = pci_bus_to_pnvhb(pdev->bus); 294 opal_pci_phb_mmio_enable(phb->opal_id, 299 clear_bit(window_id, &phb->ioda.m64_bar_alloc); 308 * is subdivided into phb 311 pnv_ioda_map_m64_segmented(struct pnv_phb *phb, int window_id, resource_size_t start, resource_size_t size) argument 338 pnv_ioda_map_m64_single(struct pnv_phb *phb, int pe_num, int window_id, resource_size_t start, resource_size_t size) argument 398 pnv_pci_alloc_m64_bar(struct pnv_phb *phb, struct pnv_iov_data *iov) argument 418 struct pnv_phb *phb; local 477 struct pnv_phb *phb; local 616 struct pnv_phb *phb; local 678 struct pnv_phb *phb; local [all...] |
H A D | eeh-powernv.c | 109 struct pnv_phb *phb = hose->private_data; local 111 out_be64(phb->regs + offset, val); 118 struct pnv_phb *phb = hose->private_data; local 120 *val = in_be64(phb->regs + offset); 149 struct pnv_phb *phb; local 152 phb = hose->private_data; 159 phb->flags |= PNV_PHB_FLAG_EEH; 161 phb->flags &= ~PNV_PHB_FLAG_EEH; 176 struct pnv_phb *phb; local 204 phb 297 struct pnv_phb *phb = hose->private_data; local 326 struct pnv_phb *phb = hose->private_data; local 457 struct pnv_phb *phb = hose->private_data; local 517 struct pnv_phb *phb = pe->phb->private_data; local 529 struct pnv_phb *phb = pe->phb->private_data; local 568 struct pnv_phb *phb = pe->phb->private_data; local 722 struct pnv_phb *phb = hose->private_data; local 764 struct pnv_phb *phb = hose->private_data; local 856 struct pnv_phb *phb = hose->private_data; local 1037 struct pnv_phb *phb; local 1170 struct pnv_phb *phb = hose->private_data; local 1284 struct pnv_phb *phb = hose->private_data; local 1343 struct pnv_phb *phb = hose->private_data; local 1409 struct pnv_phb *phb; local 1605 struct pnv_phb *phb; local 1653 struct pnv_phb *phb; local [all...] |
H A D | pci.h | 57 struct pnv_phb *phb; member in struct:pnv_ioda_pe 126 int (*init_m64)(struct pnv_phb *phb); 127 int (*get_pe_state)(struct pnv_phb *phb, int pe_no); 128 void (*freeze_pe)(struct pnv_phb *phb, int pe_no); 129 int (*unfreeze_pe)(struct pnv_phb *phb, int pe_no, int opt); 187 static inline bool pnv_pci_is_m64(struct pnv_phb *phb, struct resource *r) argument 196 return (r->start >= phb->ioda.m64_base && 197 r->start < (phb->ioda.m64_base + phb->ioda.m64_size)); 207 int pnv_ioda_configure_pe(struct pnv_phb *phb, struc [all...] |
H A D | pci.c | 56 if (!of_device_is_compatible(node, "ibm,ioda2-phb") && 57 !of_device_is_compatible(node, "ibm,ioda3-phb") && 58 !of_device_is_compatible(node, "ibm,ioda2-npu2-opencapi-phb")) { 69 if (of_device_is_compatible(node, "ibm,ioda2-npu2-opencapi-phb")) 488 static void pnv_pci_handle_eeh_config(struct pnv_phb *phb, u32 pe_no) argument 493 spin_lock_irqsave(&phb->lock, flags); 496 rc = opal_pci_get_phb_diag_data2(phb->opal_id, phb->diag_data, 497 phb->diag_data_size); 501 if (phb 532 struct pnv_phb *phb = pdn->phb->private_data; local 588 struct pnv_phb *phb = pdn->phb->private_data; local 624 struct pnv_phb *phb = pdn->phb->private_data; local 650 struct pnv_phb *phb = pdn->phb->private_data; local 681 struct pnv_phb *phb; local 710 struct pnv_phb *phb; local 757 struct pnv_phb *phb = pci_bus_to_pnvhb(dev->bus); local [all...] |
/linux-master/drivers/misc/cxl/ |
H A D | vphb.c | 30 struct pci_controller *phb; local 34 phb = pci_bus_to_host(dev->bus); 35 afu = (struct cxl_afu *)phb->private_data; 82 struct pci_controller *phb = bus ? pci_bus_to_host(bus) : NULL; local 84 return phb ? phb->private_data : NULL; 204 struct pci_controller *phb; local 230 phb = pcibios_alloc_controller(vphb_dn); 231 if (!phb) 235 phb 270 struct pci_controller *phb; local 288 struct pci_controller *phb; local 297 struct pci_controller *phb; local [all...] |
/linux-master/arch/powerpc/include/asm/ |
H A D | ppc-pci.h | 31 extern void pci_devs_phb_init_dynamic(struct pci_controller *phb); 35 extern void ppc_iommu_register_device(struct pci_controller *phb); 36 extern void ppc_iommu_unregister_device(struct pci_controller *phb); 38 static inline void ppc_iommu_register_device(struct pci_controller *phb) { } argument 39 static inline void ppc_iommu_unregister_device(struct pci_controller *phb) { } argument 46 extern int rtas_setup_phb(struct pci_controller *phb);
|
H A D | io-workarounds.h | 17 struct pci_controller *phb; member in struct:iowa_bus
|
/linux-master/drivers/pci/hotplug/ |
H A D | rpadlpar_core.c | 141 struct pci_controller *phb = pdn->phb; local 147 dev = of_create_pci_dev(dn, phb->bus, pdn->devfn); 166 pcibios_finish_adding_to_bus(phb->bus); 172 struct pci_controller *phb; local 181 phb = PCI_DN(dn)->phb; 182 dev = dlpar_find_new_dev(phb->bus, dn); 223 BUG_ON(!pdn || !pdn->phb); 224 rc = remove_phb_dynamic(pdn->phb); 235 struct pci_controller *phb; local [all...] |
H A D | rpaphp_pci.c | 78 struct pci_controller *phb = PCI_DN(slot->dn)->phb; local 87 pdn = list_first_entry_or_null(&PCI_DN(phb->dn)->child_list,
|
/linux-master/arch/powerpc/platforms/pasemi/ |
H A D | msi.c | 137 struct pci_controller *phb; local 155 list_for_each_entry(phb, &hose_list, list_node) { 156 WARN_ON(phb->controller_ops.setup_msi_irqs); 157 phb->controller_ops.setup_msi_irqs = pasemi_msi_setup_msi_irqs; 158 phb->controller_ops.teardown_msi_irqs = pasemi_msi_teardown_msi_irqs;
|
/linux-master/arch/powerpc/sysdev/ |
H A D | mpic_u3msi.c | 176 struct pci_controller *phb; local 189 list_for_each_entry(phb, &hose_list, list_node) { 190 WARN_ON(phb->controller_ops.setup_msi_irqs); 191 phb->controller_ops.setup_msi_irqs = u3msi_setup_msi_irqs; 192 phb->controller_ops.teardown_msi_irqs = u3msi_teardown_msi_irqs;
|
/linux-master/arch/powerpc/platforms/cell/ |
H A D | spider-pci.c | 68 static int __init spiderpci_pci_setup_chip(struct pci_controller *phb, argument 98 dummy_page_da = dma_map_single(phb->parent, dummy_page_va, 100 if (dma_mapping_error(phb->parent, dummy_page_da)) { 115 struct device_node *np = bus->phb->dn; 142 if (spiderpci_pci_setup_chip(bus->phb, regs))
|