phb 138 arch/microblaze/include/asm/pci-bridge.h extern void pcibios_free_controller(struct pci_controller *phb); phb 54 arch/microblaze/pci/pci-common.c struct pci_controller *phb; phb 56 arch/microblaze/pci/pci-common.c phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL); phb 57 arch/microblaze/pci/pci-common.c if (!phb) phb 60 arch/microblaze/pci/pci-common.c phb->global_number = global_phb_number++; phb 61 arch/microblaze/pci/pci-common.c list_add_tail(&phb->list_node, &hose_list); phb 63 arch/microblaze/pci/pci-common.c phb->dn = dev; phb 64 arch/microblaze/pci/pci-common.c phb->is_dynamic = mem_init_done; phb 65 arch/microblaze/pci/pci-common.c return phb; phb 68 arch/microblaze/pci/pci-common.c void pcibios_free_controller(struct pci_controller *phb) phb 71 arch/microblaze/pci/pci-common.c list_del(&phb->list_node); phb 74 arch/microblaze/pci/pci-common.c if (phb->is_dynamic) phb 75 arch/microblaze/pci/pci-common.c kfree(phb); phb 79 arch/powerpc/include/asm/eeh.h struct pci_controller *phb; /* Associated PHB */ phb 279 arch/powerpc/include/asm/eeh.h int eeh_phb_pe_create(struct pci_controller *phb); phb 281 arch/powerpc/include/asm/eeh.h struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb); phb 283 arch/powerpc/include/asm/eeh.h struct eeh_pe *eeh_pe_get(struct pci_controller *phb, phb 297 arch/powerpc/include/asm/eeh.h void eeh_dev_phb_init_dynamic(struct pci_controller *phb); phb 352 arch/powerpc/include/asm/eeh.h static inline void eeh_dev_phb_init_dynamic(struct pci_controller *phb) { } phb 17 arch/powerpc/include/asm/io-workarounds.h struct pci_controller *phb; phb 195 arch/powerpc/include/asm/pci-bridge.h struct pci_controller *phb; /* for pci devices */ phb 283 arch/powerpc/include/asm/pci-bridge.h extern void pcibios_free_controller(struct pci_controller *phb); phb 97 arch/powerpc/include/asm/pci.h extern int remove_phb_dynamic(struct pci_controller *phb); phb 38 arch/powerpc/include/asm/ppc-pci.h extern void pci_devs_phb_init_dynamic(struct pci_controller *phb); phb 43 arch/powerpc/include/asm/ppc-pci.h extern int rtas_setup_phb(struct pci_controller *phb); phb 114 arch/powerpc/kernel/dma-iommu.c struct pci_controller *phb = pci_bus_to_host(pdev->bus); phb 116 arch/powerpc/kernel/dma-iommu.c return phb->controller_ops.iommu_bypass_supported && phb 117 arch/powerpc/kernel/dma-iommu.c phb->controller_ops.iommu_bypass_supported(pdev, mask); phb 182 arch/powerpc/kernel/eeh.c pdn->phb->global_number, pdn->busno, phb 185 arch/powerpc/kernel/eeh.c pdn->phb->global_number, pdn->busno, phb 397 arch/powerpc/kernel/eeh.c phb_pe = eeh_phb_pe_get(pe->phb); phb 400 arch/powerpc/kernel/eeh.c __func__, pe->phb->global_number); phb 424 arch/powerpc/kernel/eeh.c phb_pe->phb->global_number, eeh_pe_loc_get(phb_pe)); phb 561 arch/powerpc/kernel/eeh.c pe->phb->global_number, pe->addr, phb 562 arch/powerpc/kernel/eeh.c pe->phb->global_number, parent_pe->addr); phb 583 arch/powerpc/kernel/eeh.c __func__, pe->phb->global_number, pe->addr); phb 683 arch/powerpc/kernel/eeh.c __func__, function, pe->phb->global_number, phb 889 arch/powerpc/kernel/eeh.c pe->phb->global_number, pe->addr); phb 937 arch/powerpc/kernel/eeh.c state, pe->phb->global_number, pe->addr, i + 1); phb 942 arch/powerpc/kernel/eeh.c pe->phb->global_number, pe->addr, i + 1); phb 948 arch/powerpc/kernel/eeh.c pe->phb->global_number, pe->addr); phb 956 arch/powerpc/kernel/eeh.c pe->phb->global_number, pe->addr, state, i + 1); phb 1123 arch/powerpc/kernel/eeh.c struct pci_controller *phb = pdn ? pdn->phb : NULL; phb 1133 arch/powerpc/kernel/eeh.c if (NULL == phb || phb 1134 arch/powerpc/kernel/eeh.c (eeh_has_flag(EEH_PROBE_MODE_DEVTREE) && 0 == phb->buid)) phb 1331 arch/powerpc/kernel/eeh.c __func__, ret, pe->phb->global_number, pe->addr); phb 1338 arch/powerpc/kernel/eeh.c __func__, ret, pe->phb->global_number, pe->addr); phb 1656 arch/powerpc/kernel/eeh.c pe->phb->global_number, pe->addr); phb 51 arch/powerpc/kernel/eeh_dev.c edev->controller = pdn->phb; phb 63 arch/powerpc/kernel/eeh_dev.c void eeh_dev_phb_init_dynamic(struct pci_controller *phb) phb 66 arch/powerpc/kernel/eeh_dev.c eeh_phb_pe_create(phb); phb 868 arch/powerpc/kernel/eeh_driver.c __func__, pe->phb->global_number, pe->addr); phb 888 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, pe->addr); phb 895 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, eeh_pe_loc_get(pe)); phb 897 arch/powerpc/kernel/eeh_driver.c struct eeh_pe *phb_pe = eeh_phb_pe_get(pe->phb); phb 900 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, pe->addr); phb 915 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, pe->addr); phb 930 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, pe->addr, phb 1083 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, pe->addr); phb 1227 arch/powerpc/kernel/eeh_driver.c pe->phb->global_number, phb 191 arch/powerpc/kernel/eeh_event.c if (event->pe && event->pe->phb == pe->phb) { phb 46 arch/powerpc/kernel/eeh_pe.c static struct eeh_pe *eeh_pe_alloc(struct pci_controller *phb, int type) phb 63 arch/powerpc/kernel/eeh_pe.c pe->phb = phb; phb 79 arch/powerpc/kernel/eeh_pe.c int eeh_phb_pe_create(struct pci_controller *phb) phb 84 arch/powerpc/kernel/eeh_pe.c pe = eeh_pe_alloc(phb, EEH_PE_PHB); phb 93 arch/powerpc/kernel/eeh_pe.c pr_debug("EEH: Add PE for PHB#%x\n", phb->global_number); phb 157 arch/powerpc/kernel/eeh_pe.c struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb) phb 167 arch/powerpc/kernel/eeh_pe.c if ((pe->type & EEH_PE_PHB) && pe->phb == phb) phb 309 arch/powerpc/kernel/eeh_pe.c struct eeh_pe *eeh_pe_get(struct pci_controller *phb, phb 312 arch/powerpc/kernel/eeh_pe.c struct eeh_pe *root = eeh_phb_pe_get(phb); phb 385 arch/powerpc/kernel/eeh_pe.c pe = eeh_pe_get(pdn->phb, edev->pe_config_addr, config_addr); phb 419 arch/powerpc/kernel/eeh_pe.c pe = eeh_pe_alloc(pdn->phb, EEH_PE_VF); phb 421 arch/powerpc/kernel/eeh_pe.c pe = eeh_pe_alloc(pdn->phb, EEH_PE_DEVICE); phb 437 arch/powerpc/kernel/eeh_pe.c parent = eeh_phb_pe_get(pdn->phb); phb 440 arch/powerpc/kernel/eeh_pe.c __func__, pdn->phb->global_number); phb 927 arch/powerpc/kernel/eeh_pe.c return pe->phb->bus; phb 35 arch/powerpc/kernel/io-workarounds.c struct pci_controller *phb = bus->phb; phb 38 arch/powerpc/kernel/io-workarounds.c vstart = (unsigned long)phb->io_base_virt; phb 39 arch/powerpc/kernel/io-workarounds.c vend = vstart + phb->pci_io_size - 1; phb 46 arch/powerpc/kernel/io-workarounds.c res = &phb->mem_resources[j]; phb 180 arch/powerpc/kernel/io-workarounds.c void iowa_register_bus(struct pci_controller *phb, struct ppc_pci_io *ops, phb 184 arch/powerpc/kernel/io-workarounds.c struct device_node *np = phb->dn; phb 195 arch/powerpc/kernel/io-workarounds.c bus->phb = phb; phb 14 arch/powerpc/kernel/msi.c struct pci_controller *phb = pci_bus_to_host(dev->bus); phb 16 arch/powerpc/kernel/msi.c if (!phb->controller_ops.setup_msi_irqs || phb 17 arch/powerpc/kernel/msi.c !phb->controller_ops.teardown_msi_irqs) { phb 26 arch/powerpc/kernel/msi.c return phb->controller_ops.setup_msi_irqs(dev, nvec, type); phb 31 arch/powerpc/kernel/msi.c struct pci_controller *phb = pci_bus_to_host(dev->bus); phb 37 arch/powerpc/kernel/msi.c if (phb->controller_ops.teardown_msi_irqs) phb 38 arch/powerpc/kernel/msi.c phb->controller_ops.teardown_msi_irqs(dev); phb 37 arch/powerpc/kernel/of_platform.c struct pci_controller *phb; phb 46 arch/powerpc/kernel/of_platform.c phb = pcibios_alloc_controller(dev->dev.of_node); phb 47 arch/powerpc/kernel/of_platform.c if (!phb) phb 51 arch/powerpc/kernel/of_platform.c phb->parent = &dev->dev; phb 54 arch/powerpc/kernel/of_platform.c if (ppc_md.pci_setup_phb(phb)) { phb 55 arch/powerpc/kernel/of_platform.c pcibios_free_controller(phb); phb 60 arch/powerpc/kernel/of_platform.c pci_process_bridge_OF_ranges(phb, dev->dev.of_node, 0); phb 63 arch/powerpc/kernel/of_platform.c pci_devs_phb_init_dynamic(phb); phb 66 arch/powerpc/kernel/of_platform.c eeh_dev_phb_init_dynamic(phb); phb 73 arch/powerpc/kernel/of_platform.c pcibios_scan_phb(phb); phb 74 arch/powerpc/kernel/of_platform.c if (phb->bus == NULL) phb 81 arch/powerpc/kernel/of_platform.c pcibios_claim_one_bus(phb->bus); phb 84 arch/powerpc/kernel/of_platform.c eeh_add_device_tree_late(phb->bus); phb 87 arch/powerpc/kernel/of_platform.c pci_bus_add_devices(phb->bus); phb 90 arch/powerpc/kernel/of_platform.c eeh_add_sysfs_files(phb->bus); phb 110 arch/powerpc/kernel/pci-common.c struct pci_controller *phb; phb 112 arch/powerpc/kernel/pci-common.c phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL); phb 113 arch/powerpc/kernel/pci-common.c if (phb == NULL) phb 116 arch/powerpc/kernel/pci-common.c phb->global_number = get_phb_number(dev); phb 117 arch/powerpc/kernel/pci-common.c list_add_tail(&phb->list_node, &hose_list); phb 119 arch/powerpc/kernel/pci-common.c phb->dn = dev; phb 120 arch/powerpc/kernel/pci-common.c phb->is_dynamic = slab_is_available(); phb 128 arch/powerpc/kernel/pci-common.c PHB_SET_NODE(phb, nid); phb 131 arch/powerpc/kernel/pci-common.c return phb; phb 135 arch/powerpc/kernel/pci-common.c void pcibios_free_controller(struct pci_controller *phb) phb 140 arch/powerpc/kernel/pci-common.c if (phb->global_number < MAX_PHBS) phb 141 arch/powerpc/kernel/pci-common.c clear_bit(phb->global_number, phb_bitmap); phb 143 arch/powerpc/kernel/pci-common.c list_del(&phb->list_node); phb 146 arch/powerpc/kernel/pci-common.c if (phb->is_dynamic) phb 147 arch/powerpc/kernel/pci-common.c kfree(phb); phb 178 arch/powerpc/kernel/pci-common.c struct pci_controller *phb = (struct pci_controller *) phb 181 arch/powerpc/kernel/pci-common.c pr_debug("domain %d, dynamic %d\n", phb->global_number, phb->is_dynamic); phb 183 arch/powerpc/kernel/pci-common.c pcibios_free_controller(phb); phb 196 arch/powerpc/kernel/pci-common.c struct pci_controller *phb = pci_bus_to_host(bus); phb 198 arch/powerpc/kernel/pci-common.c if (phb->controller_ops.window_alignment) phb 199 arch/powerpc/kernel/pci-common.c return phb->controller_ops.window_alignment(bus, type); phb 219 arch/powerpc/kernel/pci-common.c struct pci_controller *phb = pci_bus_to_host(dev->bus); phb 221 arch/powerpc/kernel/pci-common.c if (phb->controller_ops.reset_secondary_bus) { phb 222 arch/powerpc/kernel/pci-common.c phb->controller_ops.reset_secondary_bus(dev); phb 949 arch/powerpc/kernel/pci-common.c struct pci_controller *phb; phb 962 arch/powerpc/kernel/pci-common.c phb = pci_bus_to_host(bus); phb 963 arch/powerpc/kernel/pci-common.c if (phb->controller_ops.dma_bus_setup) phb 964 arch/powerpc/kernel/pci-common.c phb->controller_ops.dma_bus_setup(bus); phb 969 arch/powerpc/kernel/pci-common.c struct pci_controller *phb; phb 980 arch/powerpc/kernel/pci-common.c phb = pci_bus_to_host(dev->bus); phb 981 arch/powerpc/kernel/pci-common.c if (phb->controller_ops.dma_dev_setup) phb 982 arch/powerpc/kernel/pci-common.c phb->controller_ops.dma_dev_setup(dev); phb 1453 arch/powerpc/kernel/pci-common.c struct pci_controller *phb = pci_bus_to_host(dev->bus); phb 1455 arch/powerpc/kernel/pci-common.c if (phb->controller_ops.enable_device_hook) phb 1456 arch/powerpc/kernel/pci-common.c if (!phb->controller_ops.enable_device_hook(dev)) phb 1464 arch/powerpc/kernel/pci-common.c struct pci_controller *phb = pci_bus_to_host(dev->bus); phb 1466 arch/powerpc/kernel/pci-common.c if (phb->controller_ops.disable_device) phb 1467 arch/powerpc/kernel/pci-common.c phb->controller_ops.disable_device(dev); phb 42 arch/powerpc/kernel/pci-hotplug.c if (!pdn || !pdn->phb || !pdn->phb->bus) phb 45 arch/powerpc/kernel/pci-hotplug.c return find_bus_among_children(pdn->phb->bus, dn); phb 57 arch/powerpc/kernel/pci-hotplug.c struct pci_controller *phb = pci_bus_to_host(dev->bus); phb 62 arch/powerpc/kernel/pci-hotplug.c if (phb->controller_ops.release_device) phb 63 arch/powerpc/kernel/pci-hotplug.c phb->controller_ops.release_device(dev); phb 112 arch/powerpc/kernel/pci-hotplug.c struct pci_controller *phb; phb 117 arch/powerpc/kernel/pci-hotplug.c phb = pci_bus_to_host(bus); phb 120 arch/powerpc/kernel/pci-hotplug.c if (phb->controller_ops.probe_mode) phb 121 arch/powerpc/kernel/pci-hotplug.c mode = phb->controller_ops.probe_mode(bus); phb 244 arch/powerpc/kernel/pci_64.c hose = PCI_DN(hose_node)->phb; phb 265 arch/powerpc/kernel/pci_64.c struct pci_controller *phb = pci_bus_to_host(bus); phb 266 arch/powerpc/kernel/pci_64.c return phb->node; phb 142 arch/powerpc/kernel/pci_dn.c pdn->phb = parent->phb; phb 292 arch/powerpc/kernel/pci_dn.c pdn->phb = hose; phb 363 arch/powerpc/kernel/pci_dn.c pdev = pci_get_domain_bus_and_slot(pdn->phb->global_number, phb 501 arch/powerpc/kernel/pci_dn.c void pci_devs_phb_init_dynamic(struct pci_controller *phb) phb 503 arch/powerpc/kernel/pci_dn.c struct device_node *dn = phb->dn; phb 507 arch/powerpc/kernel/pci_dn.c pdn = pci_add_device_node_info(phb, dn); phb 511 arch/powerpc/kernel/pci_dn.c pdn->phb = phb; phb 512 arch/powerpc/kernel/pci_dn.c phb->pci_data = pdn; phb 516 arch/powerpc/kernel/pci_dn.c pci_traverse_device_nodes(dn, add_pdn, phb); phb 530 arch/powerpc/kernel/pci_dn.c struct pci_controller *phb, *tmp; phb 533 arch/powerpc/kernel/pci_dn.c list_for_each_entry_safe(phb, tmp, &hose_list, list_node) phb 534 arch/powerpc/kernel/pci_dn.c pci_devs_phb_init_dynamic(phb); phb 254 arch/powerpc/kernel/pci_of_scan.c struct pci_controller *phb; phb 334 arch/powerpc/kernel/pci_of_scan.c phb = pci_bus_to_host(bus); phb 337 arch/powerpc/kernel/pci_of_scan.c if (phb->controller_ops.probe_mode) phb 338 arch/powerpc/kernel/pci_of_scan.c mode = phb->controller_ops.probe_mode(bus); phb 62 arch/powerpc/kernel/rtas_pci.c buid = pdn->phb->buid; phb 113 arch/powerpc/kernel/rtas_pci.c buid = pdn->phb->buid; phb 199 arch/powerpc/kernel/rtas_pci.c unsigned long get_phb_buid(struct device_node *phb) phb 205 arch/powerpc/kernel/rtas_pci.c if (of_address_to_resource(phb, 0, &r)) phb 211 arch/powerpc/kernel/rtas_pci.c struct pci_controller *phb) phb 221 arch/powerpc/kernel/rtas_pci.c phb->first_busno = be32_to_cpu(bus_range[0]); phb 222 arch/powerpc/kernel/rtas_pci.c phb->last_busno = be32_to_cpu(bus_range[1]); phb 227 arch/powerpc/kernel/rtas_pci.c int rtas_setup_phb(struct pci_controller *phb) phb 229 arch/powerpc/kernel/rtas_pci.c struct device_node *dev = phb->dn; phb 234 arch/powerpc/kernel/rtas_pci.c if (phb_set_bus_ranges(dev, phb)) phb 237 arch/powerpc/kernel/rtas_pci.c phb->ops = &rtas_pci_ops; phb 238 arch/powerpc/kernel/rtas_pci.c phb->buid = get_phb_buid(dev); phb 128 arch/powerpc/platforms/4xx/hsta_msi.c struct pci_controller *phb; phb 173 arch/powerpc/platforms/4xx/hsta_msi.c list_for_each_entry(phb, &hose_list, list_node) { phb 174 arch/powerpc/platforms/4xx/hsta_msi.c phb->controller_ops.setup_msi_irqs = hsta_setup_msi_irqs; phb 175 arch/powerpc/platforms/4xx/hsta_msi.c phb->controller_ops.teardown_msi_irqs = hsta_teardown_msi_irqs; phb 219 arch/powerpc/platforms/4xx/msi.c struct pci_controller *phb; phb 250 arch/powerpc/platforms/4xx/msi.c list_for_each_entry(phb, &hose_list, list_node) { phb 251 arch/powerpc/platforms/4xx/msi.c phb->controller_ops.setup_msi_irqs = ppc4xx_setup_msi_irqs; phb 252 arch/powerpc/platforms/4xx/msi.c phb->controller_ops.teardown_msi_irqs = ppc4xx_teardown_msi_irqs; phb 70 arch/powerpc/platforms/amigaone/setup.c int phb = -ENODEV; phb 74 arch/powerpc/platforms/amigaone/setup.c phb = amigaone_add_bridge(np); phb 76 arch/powerpc/platforms/amigaone/setup.c BUG_ON(phb != 0); phb 117 arch/powerpc/platforms/cell/setup.c static int cell_setup_phb(struct pci_controller *phb) phb 122 arch/powerpc/platforms/cell/setup.c int rc = rtas_setup_phb(phb); phb 126 arch/powerpc/platforms/cell/setup.c phb->controller_ops = cell_pci_controller_ops; phb 128 arch/powerpc/platforms/cell/setup.c np = phb->dn; phb 137 arch/powerpc/platforms/cell/setup.c iowa_register_bus(phb, &spiderpci_ops, &spiderpci_iowa_init, phb 69 arch/powerpc/platforms/cell/spider-pci.c static int __init spiderpci_pci_setup_chip(struct pci_controller *phb, phb 99 arch/powerpc/platforms/cell/spider-pci.c dummy_page_da = dma_map_single(phb->parent, dummy_page_va, phb 101 arch/powerpc/platforms/cell/spider-pci.c if (dma_mapping_error(phb->parent, dummy_page_da)) { phb 116 arch/powerpc/platforms/cell/spider-pci.c struct device_node *np = bus->phb->dn; phb 143 arch/powerpc/platforms/cell/spider-pci.c if (spiderpci_pci_setup_chip(bus->phb, regs)) phb 141 arch/powerpc/platforms/pasemi/msi.c struct pci_controller *phb; phb 159 arch/powerpc/platforms/pasemi/msi.c list_for_each_entry(phb, &hose_list, list_node) { phb 160 arch/powerpc/platforms/pasemi/msi.c WARN_ON(phb->controller_ops.setup_msi_irqs); phb 161 arch/powerpc/platforms/pasemi/msi.c phb->controller_ops.setup_msi_irqs = pasemi_msi_setup_msi_irqs; phb 162 arch/powerpc/platforms/pasemi/msi.c phb->controller_ops.teardown_msi_irqs = pasemi_msi_teardown_msi_irqs; phb 57 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb; phb 75 arch/powerpc/platforms/powernv/eeh-powernv.c phb = hose->private_data; phb 77 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->model == PNV_PHB_MODEL_P7IOC) phb 80 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->diag_data_size > max_diag_size) phb 81 arch/powerpc/platforms/powernv/eeh-powernv.c max_diag_size = phb->diag_data_size; phb 90 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->ioda.reserved_pe_idx != 0) phb 163 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 165 arch/powerpc/platforms/powernv/eeh-powernv.c out_be64(phb->regs + offset, val); phb 172 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 174 arch/powerpc/platforms/powernv/eeh-powernv.c *val = in_be64(phb->regs + offset); phb 203 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb; phb 206 arch/powerpc/platforms/powernv/eeh-powernv.c phb = hose->private_data; phb 213 arch/powerpc/platforms/powernv/eeh-powernv.c phb->flags |= PNV_PHB_FLAG_EEH; phb 215 arch/powerpc/platforms/powernv/eeh-powernv.c phb->flags &= ~PNV_PHB_FLAG_EEH; phb 230 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb; phb 258 arch/powerpc/platforms/powernv/eeh-powernv.c phb = hose->private_data; phb 262 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->has_dbgfs || !phb->dbgfs) phb 265 arch/powerpc/platforms/powernv/eeh-powernv.c phb->has_dbgfs = 1; phb 267 arch/powerpc/platforms/powernv/eeh-powernv.c phb->dbgfs, hose, phb 271 arch/powerpc/platforms/powernv/eeh-powernv.c phb->dbgfs, hose, phb 274 arch/powerpc/platforms/powernv/eeh-powernv.c phb->dbgfs, hose, phb 277 arch/powerpc/platforms/powernv/eeh-powernv.c phb->dbgfs, hose, phb 367 arch/powerpc/platforms/powernv/eeh-powernv.c struct pci_controller *hose = pdn->phb; phb 368 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 409 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pe_config_addr = phb->ioda.pe_rmap[config_addr]; phb 488 arch/powerpc/platforms/powernv/eeh-powernv.c struct pci_controller *hose = pe->phb; phb 489 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 516 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->freeze_pe) { phb 517 arch/powerpc/platforms/powernv/eeh-powernv.c phb->freeze_pe(phb, pe->addr); phb 521 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_eeh_freeze_set(phb->opal_id, pe->addr, opt); phb 524 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, rc, phb->hose->global_number, phb 533 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->unfreeze_pe) phb 534 arch/powerpc/platforms/powernv/eeh-powernv.c return phb->unfreeze_pe(phb, pe->addr, opt); phb 536 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_eeh_freeze_clear(phb->opal_id, pe->addr, opt); phb 539 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, rc, option, phb->hose->global_number, phb 561 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = pe->phb->private_data; phb 564 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_get_phb_diag_data2(phb->opal_id, pe->data, phb 565 arch/powerpc/platforms/powernv/eeh-powernv.c phb->diag_data_size); phb 568 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, rc, pe->phb->global_number); phb 573 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = pe->phb->private_data; phb 579 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_eeh_freeze_status(phb->opal_id, phb 586 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, rc, phb->hose->global_number); phb 604 arch/powerpc/platforms/powernv/eeh-powernv.c pnv_pci_dump_phb_diag_data(pe->phb, pe->data); phb 612 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = pe->phb->private_data; phb 636 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->get_pe_state) { phb 637 arch/powerpc/platforms/powernv/eeh-powernv.c fstate = phb->get_pe_state(phb, pe->addr); phb 639 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_eeh_freeze_status(phb->opal_id, phb 646 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, rc, phb->hose->global_number, phb 683 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, phb->hose->global_number, phb 699 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->freeze_pe) phb 700 arch/powerpc/platforms/powernv/eeh-powernv.c phb->freeze_pe(phb, pe->addr); phb 706 arch/powerpc/platforms/powernv/eeh-powernv.c pnv_pci_dump_phb_diag_data(pe->phb, pe->data); phb 766 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 775 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_reset(phb->opal_id, phb 779 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_reset(phb->opal_id, phb 792 arch/powerpc/platforms/powernv/eeh-powernv.c rc = pnv_eeh_poll(phb->opal_id); phb 808 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 820 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_reset(phb->opal_id, phb 824 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_reset(phb->opal_id, phb 828 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_reset(phb->opal_id, phb 836 arch/powerpc/platforms/powernv/eeh-powernv.c rc = pnv_eeh_poll(phb->opal_id); phb 900 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 902 arch/powerpc/platforms/powernv/eeh-powernv.c uint64_t id = PCI_SLOT_ID(phb->opal_id, phb 969 arch/powerpc/platforms/powernv/eeh-powernv.c pdn->phb->global_number, pdn->busno, phb 1080 arch/powerpc/platforms/powernv/eeh-powernv.c struct pci_controller *hose = pe->phb; phb 1081 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb; phb 1109 arch/powerpc/platforms/powernv/eeh-powernv.c phb = hose->private_data; phb 1110 arch/powerpc/platforms/powernv/eeh-powernv.c if (phb->model == PNV_PHB_MODEL_P7IOC && phb 1113 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_reset(phb->opal_id, phb 1129 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, pe->phb->global_number, pe->addr); phb 1180 arch/powerpc/platforms/powernv/eeh-powernv.c pnv_pci_dump_phb_diag_data(pe->phb, pe->data); phb 1213 arch/powerpc/platforms/powernv/eeh-powernv.c struct pci_controller *hose = pe->phb; phb 1214 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 1239 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_err_inject(phb->opal_id, pe->addr, phb 1324 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 1326 arch/powerpc/platforms/powernv/eeh-powernv.c (struct OpalIoP7IOCErrorData*)phb->diag_data; phb 1329 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_get_hub_diag_data(phb->hub_id, data, sizeof(*data)); phb 1332 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, phb->hub_id, rc); phb 1376 arch/powerpc/platforms/powernv/eeh-powernv.c __func__, phb->hub_id, data->type); phb 1383 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb = hose->private_data; phb 1392 arch/powerpc/platforms/powernv/eeh-powernv.c pnv_pe = &phb->ioda.pe_array[pe_no]; phb 1408 arch/powerpc/platforms/powernv/eeh-powernv.c phb->freeze_pe(phb, pe_no); phb 1427 arch/powerpc/platforms/powernv/eeh-powernv.c phb->freeze_pe(phb, dev_pe->addr); phb 1449 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb; phb 1468 arch/powerpc/platforms/powernv/eeh-powernv.c phb = hose->private_data; phb 1473 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_next_error(phb->opal_id, phb 1552 arch/powerpc/platforms/powernv/eeh-powernv.c rc = opal_pci_get_phb_diag_data2(phb->opal_id, phb 1553 arch/powerpc/platforms/powernv/eeh-powernv.c phb->diag_data, phb->diag_data_size); phb 1556 arch/powerpc/platforms/powernv/eeh-powernv.c phb->diag_data); phb 1559 arch/powerpc/platforms/powernv/eeh-powernv.c opal_pci_eeh_freeze_clear(phb->opal_id, phb 1570 arch/powerpc/platforms/powernv/eeh-powernv.c (*pe)->phb->global_number); phb 1598 arch/powerpc/platforms/powernv/eeh-powernv.c pnv_pci_dump_phb_diag_data((*pe)->phb, phb 1646 arch/powerpc/platforms/powernv/eeh-powernv.c struct pnv_phb *phb; phb 1663 arch/powerpc/platforms/powernv/eeh-powernv.c phb = pdn->phb->private_data; phb 1664 arch/powerpc/platforms/powernv/eeh-powernv.c ret = opal_pci_reinit(phb->opal_id, phb 27 arch/powerpc/platforms/powernv/npu-dma.c pdev = pci_get_domain_bus_and_slot(pci_domain_nr(pdn->phb->bus), phb 100 arch/powerpc/platforms/powernv/npu-dma.c struct pnv_phb *phb; phb 115 arch/powerpc/platforms/powernv/npu-dma.c phb = hose->private_data; phb 116 arch/powerpc/platforms/powernv/npu-dma.c pe = &phb->ioda.pe_array[pdn->pe_number]; phb 132 arch/powerpc/platforms/powernv/npu-dma.c struct pnv_phb *phb = npe->phb; phb 148 arch/powerpc/platforms/powernv/npu-dma.c rc = opal_pci_map_pe_dma_window(phb->opal_id, phb 159 arch/powerpc/platforms/powernv/npu-dma.c pnv_pci_ioda2_tce_invalidate_entire(phb, false); phb 162 arch/powerpc/platforms/powernv/npu-dma.c pnv_pci_link_table_and_group(phb->hose->node, num, phb 172 arch/powerpc/platforms/powernv/npu-dma.c struct pnv_phb *phb = npe->phb; phb 180 arch/powerpc/platforms/powernv/npu-dma.c rc = opal_pci_map_pe_dma_window(phb->opal_id, npe->pe_number, phb 188 arch/powerpc/platforms/powernv/npu-dma.c pnv_pci_ioda2_tce_invalidate_entire(phb, false); phb 201 arch/powerpc/platforms/powernv/npu-dma.c struct pnv_phb *phb = npe->phb; phb 217 arch/powerpc/platforms/powernv/npu-dma.c rc = opal_pci_map_pe_dma_window_real(phb->opal_id, phb 224 arch/powerpc/platforms/powernv/npu-dma.c pnv_pci_ioda2_tce_invalidate_entire(npe->phb, false); phb 513 arch/powerpc/platforms/powernv/npu-dma.c list_for_each_entry(npdev, &pe->phb->hose->bus->devices, bus_list) { phb 165 arch/powerpc/platforms/powernv/ocxl.c struct pnv_phb *phb = hose->private_data; phb 172 arch/powerpc/platforms/powernv/ocxl.c if (phb->type != PNV_PHB_NPU_OCAPI) phb 356 arch/powerpc/platforms/powernv/ocxl.c struct pnv_phb *phb = hose->private_data; phb 362 arch/powerpc/platforms/powernv/ocxl.c rc = opal_npu_tl_set(phb->opal_id, dev->devfn, cap, phb 443 arch/powerpc/platforms/powernv/ocxl.c struct pnv_phb *phb = hose->private_data; phb 453 arch/powerpc/platforms/powernv/ocxl.c rc = opal_npu_spa_setup(phb->opal_id, bdfn, virt_to_phys(spa_mem), phb 460 arch/powerpc/platforms/powernv/ocxl.c data->phb_opal_id = phb->opal_id; phb 15 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 25 arch/powerpc/platforms/powernv/pci-cxl.c rc = opal_pci_set_phb_cxl_mode(phb->opal_id, mode, pe->pe_number); phb 41 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 42 arch/powerpc/platforms/powernv/pci-cxl.c int hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, num); phb 49 arch/powerpc/platforms/powernv/pci-cxl.c return phb->msi_base + hwirq; phb 56 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 58 arch/powerpc/platforms/powernv/pci-cxl.c msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq - phb->msi_base, num); phb 66 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 75 arch/powerpc/platforms/powernv/pci-cxl.c hwirq = irqs->offset[i] - phb->msi_base; phb 76 arch/powerpc/platforms/powernv/pci-cxl.c msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, phb 86 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 95 arch/powerpc/platforms/powernv/pci-cxl.c hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, try); phb 103 arch/powerpc/platforms/powernv/pci-cxl.c irqs->offset[i] = phb->msi_base + hwirq; phb 122 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 124 arch/powerpc/platforms/powernv/pci-cxl.c return phb->msi_bmp.irq_count; phb 132 arch/powerpc/platforms/powernv/pci-cxl.c struct pnv_phb *phb = hose->private_data; phb 133 arch/powerpc/platforms/powernv/pci-cxl.c unsigned int xive_num = hwirq - phb->msi_base; phb 141 arch/powerpc/platforms/powernv/pci-cxl.c rc = opal_pci_set_xive_pe(phb->opal_id, pe->pe_number, xive_num); phb 145 arch/powerpc/platforms/powernv/pci-cxl.c pci_name(dev), rc, phb->msi_base, hwirq, xive_num); phb 148 arch/powerpc/platforms/powernv/pci-cxl.c pnv_set_msi_irq_chip(phb, virq); phb 117 arch/powerpc/platforms/powernv/pci-ioda.c static inline bool pnv_pci_is_m64(struct pnv_phb *phb, struct resource *r) phb 126 arch/powerpc/platforms/powernv/pci-ioda.c return (r->start >= phb->ioda.m64_base && phb 127 arch/powerpc/platforms/powernv/pci-ioda.c r->start < (phb->ioda.m64_base + phb->ioda.m64_size)); phb 137 arch/powerpc/platforms/powernv/pci-ioda.c static struct pnv_ioda_pe *pnv_ioda_init_pe(struct pnv_phb *phb, int pe_no) phb 141 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_array[pe_no].phb = phb; phb 142 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_array[pe_no].pe_number = pe_no; phb 149 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_clear(phb->opal_id, pe_no, phb 153 arch/powerpc/platforms/powernv/pci-ioda.c __func__, rc, phb->hose->global_number, pe_no); phb 155 arch/powerpc/platforms/powernv/pci-ioda.c return &phb->ioda.pe_array[pe_no]; phb 158 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_ioda_reserve_pe(struct pnv_phb *phb, int pe_no) phb 160 arch/powerpc/platforms/powernv/pci-ioda.c if (!(pe_no >= 0 && pe_no < phb->ioda.total_pe_num)) { phb 162 arch/powerpc/platforms/powernv/pci-ioda.c __func__, pe_no, phb->hose->global_number); phb 166 arch/powerpc/platforms/powernv/pci-ioda.c if (test_and_set_bit(pe_no, phb->ioda.pe_alloc)) phb 168 arch/powerpc/platforms/powernv/pci-ioda.c __func__, pe_no, phb->hose->global_number); phb 170 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_init_pe(phb, pe_no); phb 173 arch/powerpc/platforms/powernv/pci-ioda.c static struct pnv_ioda_pe *pnv_ioda_alloc_pe(struct pnv_phb *phb) phb 177 arch/powerpc/platforms/powernv/pci-ioda.c for (pe = phb->ioda.total_pe_num - 1; pe >= 0; pe--) { phb 178 arch/powerpc/platforms/powernv/pci-ioda.c if (!test_and_set_bit(pe, phb->ioda.pe_alloc)) phb 179 arch/powerpc/platforms/powernv/pci-ioda.c return pnv_ioda_init_pe(phb, pe); phb 187 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 194 arch/powerpc/platforms/powernv/pci-ioda.c clear_bit(pe_num, phb->ioda.pe_alloc); phb 198 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda2_init_m64(struct pnv_phb *phb) phb 205 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_phb_mem_window(phb->opal_id, phb 207 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_bar_idx, phb 208 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_base, phb 210 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_size); phb 217 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_phb_mmio_enable(phb->opal_id, phb 219 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_bar_idx, phb 230 arch/powerpc/platforms/powernv/pci-ioda.c r = &phb->hose->mem_resources[1]; phb 231 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.reserved_pe_idx == 0) phb 232 arch/powerpc/platforms/powernv/pci-ioda.c r->start += (2 * phb->ioda.m64_segsize); phb 233 arch/powerpc/platforms/powernv/pci-ioda.c else if (phb->ioda.reserved_pe_idx == (phb->ioda.total_pe_num - 1)) phb 234 arch/powerpc/platforms/powernv/pci-ioda.c r->end -= (2 * phb->ioda.m64_segsize); phb 237 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.reserved_pe_idx); phb 243 arch/powerpc/platforms/powernv/pci-ioda.c rc, desc, phb->ioda.m64_bar_idx); phb 244 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_phb_mmio_enable(phb->opal_id, phb 246 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_bar_idx, phb 255 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 260 arch/powerpc/platforms/powernv/pci-ioda.c base = phb->ioda.m64_base; phb 261 arch/powerpc/platforms/powernv/pci-ioda.c sgsz = phb->ioda.m64_segsize; phb 264 arch/powerpc/platforms/powernv/pci-ioda.c if (!r->parent || !pnv_pci_is_m64(phb, r)) phb 273 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_reserve_pe(phb, segno); phb 278 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda1_init_m64(struct pnv_phb *phb) phb 289 arch/powerpc/platforms/powernv/pci-ioda.c unsigned long base, segsz = phb->ioda.m64_segsize; phb 292 arch/powerpc/platforms/powernv/pci-ioda.c base = phb->ioda.m64_base + phb 294 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_phb_mem_window(phb->opal_id, phb 299 arch/powerpc/platforms/powernv/pci-ioda.c rc, phb->hose->global_number, index); phb 303 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_phb_mmio_enable(phb->opal_id, phb 308 arch/powerpc/platforms/powernv/pci-ioda.c rc, phb->hose->global_number, index); phb 317 arch/powerpc/platforms/powernv/pci-ioda.c r = &phb->hose->mem_resources[1]; phb 318 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.reserved_pe_idx == 0) phb 319 arch/powerpc/platforms/powernv/pci-ioda.c r->start += (2 * phb->ioda.m64_segsize); phb 320 arch/powerpc/platforms/powernv/pci-ioda.c else if (phb->ioda.reserved_pe_idx == (phb->ioda.total_pe_num - 1)) phb 321 arch/powerpc/platforms/powernv/pci-ioda.c r->end -= (2 * phb->ioda.m64_segsize); phb 324 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.reserved_pe_idx, phb->hose->global_number); phb 330 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_phb_mmio_enable(phb->opal_id, phb 354 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 364 arch/powerpc/platforms/powernv/pci-ioda.c size = _ALIGN_UP(phb->ioda.total_pe_num / 8, sizeof(unsigned long)); phb 380 arch/powerpc/platforms/powernv/pci-ioda.c if (bitmap_empty(pe_alloc, phb->ioda.total_pe_num)) { phb 391 arch/powerpc/platforms/powernv/pci-ioda.c while ((i = find_next_bit(pe_alloc, phb->ioda.total_pe_num, i + 1)) < phb 392 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.total_pe_num) { phb 393 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[i]; phb 395 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_segmap[pe->pe_number] = pe->pe_number; phb 413 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA1) { phb 416 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_mmio_window(phb->opal_id, phb 422 arch/powerpc/platforms/powernv/pci-ioda.c __func__, rc, phb->hose->global_number, phb 431 arch/powerpc/platforms/powernv/pci-ioda.c static void __init pnv_ioda_parse_m64_window(struct pnv_phb *phb) phb 433 arch/powerpc/platforms/powernv/pci-ioda.c struct pci_controller *hose = phb->hose; phb 440 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type != PNV_PHB_IODA1 && phb->type != PNV_PHB_IODA2) { phb 470 arch/powerpc/platforms/powernv/pci-ioda.c __func__, m64_range[1], phb->hose->global_number); phb 476 arch/powerpc/platforms/powernv/pci-ioda.c __func__, phb->hose->global_number); phb 489 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_size = resource_size(res); phb 490 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_segsize = phb->ioda.m64_size / phb->ioda.total_pe_num; phb 491 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_base = pci_addr; phb 499 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_bar_alloc = (unsigned long)-1; phb 503 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_bar_idx = m64_range[0] + m64_range[1]; phb 505 arch/powerpc/platforms/powernv/pci-ioda.c pr_info(" Using M64 #%d as default window\n", phb->ioda.m64_bar_idx); phb 509 arch/powerpc/platforms/powernv/pci-ioda.c clear_bit(i, &phb->ioda.m64_bar_alloc); phb 515 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA1) phb 516 arch/powerpc/platforms/powernv/pci-ioda.c phb->init_m64 = pnv_ioda1_init_m64; phb 518 arch/powerpc/platforms/powernv/pci-ioda.c phb->init_m64 = pnv_ioda2_init_m64; phb 521 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_ioda_freeze_pe(struct pnv_phb *phb, int pe_no) phb 523 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_ioda_pe *pe = &phb->ioda.pe_array[pe_no]; phb 537 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_set(phb->opal_id, phb 542 arch/powerpc/platforms/powernv/pci-ioda.c __func__, rc, phb->hose->global_number, pe_no); phb 551 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_set(phb->opal_id, phb 556 arch/powerpc/platforms/powernv/pci-ioda.c __func__, rc, phb->hose->global_number, phb 561 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda_unfreeze_pe(struct pnv_phb *phb, int pe_no, int opt) phb 567 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pe_no]; phb 575 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_clear(phb->opal_id, pe_no, opt); phb 578 arch/powerpc/platforms/powernv/pci-ioda.c __func__, rc, opt, phb->hose->global_number, pe_no); phb 587 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_clear(phb->opal_id, phb 592 arch/powerpc/platforms/powernv/pci-ioda.c __func__, rc, opt, phb->hose->global_number, phb 601 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda_get_pe_state(struct pnv_phb *phb, int pe_no) phb 609 arch/powerpc/platforms/powernv/pci-ioda.c if (pe_no < 0 || pe_no >= phb->ioda.total_pe_num) phb 616 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pe_no]; phb 624 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_status(phb->opal_id, pe_no, phb 630 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose->global_number, pe_no); phb 639 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_eeh_freeze_status(phb->opal_id, phb 648 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose->global_number, slave->pe_number); phb 666 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 673 arch/powerpc/platforms/powernv/pci-ioda.c return &phb->ioda.pe_array[pdn->pe_number]; phb 676 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda_set_one_peltv(struct pnv_phb *phb, phb 688 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_peltv(phb->opal_id, parent->pe_number, phb 701 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_peltv(phb->opal_id, parent->pe_number, phb 713 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda_set_peltv(struct pnv_phb *phb, phb 726 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_eeh_freeze_clear(phb->opal_id, pe->pe_number, phb 730 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_eeh_freeze_clear(phb->opal_id, phb 742 arch/powerpc/platforms/powernv/pci-ioda.c ret = pnv_ioda_set_one_peltv(phb, pe, pe, is_add); phb 749 arch/powerpc/platforms/powernv/pci-ioda.c ret = pnv_ioda_set_one_peltv(phb, slave, pe, is_add); phb 768 arch/powerpc/platforms/powernv/pci-ioda.c parent = &phb->ioda.pe_array[pdn->pe_number]; phb 769 arch/powerpc/platforms/powernv/pci-ioda.c ret = pnv_ioda_set_one_peltv(phb, parent, pe, is_add); phb 780 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda_deconfigure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe) phb 828 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_rmap[rid] = IODA_INVALID_PE; phb 834 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_peltv(phb->opal_id, pdn->pe_number, phb 841 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_eeh_freeze_clear(phb->opal_id, pe->pe_number, phb 845 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_peltv(phb->opal_id, pe->pe_number, phb 849 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_pe(phb->opal_id, pe->pe_number, pe->rid, phb 863 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_ioda_configure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe) phb 914 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_pe(phb->opal_id, pe->pe_number, pe->rid, phb 925 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type != PNV_PHB_NPU_NVLINK && phb->type != PNV_PHB_NPU_OCAPI) phb 926 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_set_peltv(phb, pe, true); phb 930 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_rmap[rid] = pe->pe_number; phb 933 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type != PNV_PHB_IODA1) { phb 939 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_mve(phb->opal_id, pe->mve_number, pe->pe_number); phb 945 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_mve_enable(phb->opal_id, phb 1046 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 1058 arch/powerpc/platforms/powernv/pci-ioda.c pe = pnv_ioda_alloc_pe(phb); phb 1082 arch/powerpc/platforms/powernv/pci-ioda.c if (pnv_ioda_configure_pe(phb, pe)) { phb 1092 arch/powerpc/platforms/powernv/pci-ioda.c list_add_tail(&pe->list, &phb->ioda.pe_list); phb 1134 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 1142 arch/powerpc/platforms/powernv/pci-ioda.c pe_num = phb->ioda.pe_rmap[bus->number << 8]; phb 1144 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pe_num]; phb 1151 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_idx != IODA_INVALID_PE) phb 1152 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[phb->ioda.root_pe_idx]; phb 1160 arch/powerpc/platforms/powernv/pci-ioda.c pe = pnv_ioda_alloc_pe(phb); phb 1182 arch/powerpc/platforms/powernv/pci-ioda.c if (pnv_ioda_configure_pe(phb, pe)) { phb 1193 arch/powerpc/platforms/powernv/pci-ioda.c list_add_tail(&pe->list, &phb->ioda.pe_list); phb 1206 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 1218 arch/powerpc/platforms/powernv/pci-ioda.c for (pe_num = 0; pe_num < phb->ioda.total_pe_num; pe_num++) { phb 1219 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pe_num]; phb 1235 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_rmap[rid] = pe->pe_number; phb 1238 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_pe(phb->opal_id, pe_num, rid, phb 1270 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1276 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1277 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_NPU_NVLINK) { phb 1279 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_reserve_pe(phb, 0); phb 1281 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->model == PNV_PHB_MODEL_NPU2) phb 1284 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_NPU_OCAPI) { phb 1291 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1292 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type != PNV_PHB_IODA2) phb 1295 arch/powerpc/platforms/powernv/pci-ioda.c list_for_each_entry(pe, &phb->ioda.pe_list, list) phb 1305 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1312 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1324 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_phb_mmio_enable(phb->opal_id, phb 1326 arch/powerpc/platforms/powernv/pci-ioda.c clear_bit(pdn->m64_map[j][i], &phb->ioda.m64_bar_alloc); phb 1338 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1351 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1378 arch/powerpc/platforms/powernv/pci-ioda.c win = find_next_zero_bit(&phb->ioda.m64_bar_alloc, phb 1379 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_bar_idx + 1, 0); phb 1381 arch/powerpc/platforms/powernv/pci-ioda.c if (win >= phb->ioda.m64_bar_idx + 1) phb 1383 arch/powerpc/platforms/powernv/pci-ioda.c } while (test_and_set_bit(win, &phb->ioda.m64_bar_alloc)); phb 1399 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_mmio_window(phb->opal_id, phb 1404 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_phb_mem_window(phb->opal_id, phb 1419 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_phb_mmio_enable(phb->opal_id, phb 1422 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_phb_mmio_enable(phb->opal_id, phb 1464 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1470 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1476 arch/powerpc/platforms/powernv/pci-ioda.c list_for_each_entry_safe(pe, pe_n, &phb->ioda.pe_list, list) { phb 1483 arch/powerpc/platforms/powernv/pci-ioda.c mutex_lock(&phb->ioda.pe_list_mutex); phb 1485 arch/powerpc/platforms/powernv/pci-ioda.c mutex_unlock(&phb->ioda.pe_list_mutex); phb 1487 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_deconfigure_pe(phb, pe); phb 1497 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1504 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1511 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA2) { phb 1524 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pdn->pe_num_map[i]]; phb 1528 arch/powerpc/platforms/powernv/pci-ioda.c bitmap_clear(phb->ioda.pe_alloc, *pdn->pe_num_map, num_vfs); phb 1534 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_pci_ioda2_setup_dma_pe(struct pnv_phb *phb, phb 1545 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1553 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1570 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pe_num]; phb 1572 arch/powerpc/platforms/powernv/pci-ioda.c pe->phb = phb; phb 1583 arch/powerpc/platforms/powernv/pci-ioda.c if (pnv_ioda_configure_pe(phb, pe)) { phb 1591 arch/powerpc/platforms/powernv/pci-ioda.c mutex_lock(&phb->ioda.pe_list_mutex); phb 1592 arch/powerpc/platforms/powernv/pci-ioda.c list_add_tail(&pe->list, &phb->ioda.pe_list); phb 1593 arch/powerpc/platforms/powernv/pci-ioda.c mutex_unlock(&phb->ioda.pe_list_mutex); phb 1604 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_ioda2_setup_dma_pe(phb, pe); phb 1607 arch/powerpc/platforms/powernv/pci-ioda.c pe->phb->hose->global_number, pe->pe_number); phb 1617 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 1625 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 1628 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA2) { phb 1639 arch/powerpc/platforms/powernv/pci-ioda.c if (pdn->m64_single_mode && num_vfs > phb->ioda.m64_bar_idx) { phb 1662 arch/powerpc/platforms/powernv/pci-ioda.c pe = pnv_ioda_alloc_pe(phb); phb 1671 arch/powerpc/platforms/powernv/pci-ioda.c mutex_lock(&phb->ioda.pe_alloc_mutex); phb 1673 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_alloc, phb->ioda.total_pe_num, phb 1675 arch/powerpc/platforms/powernv/pci-ioda.c if (*pdn->pe_num_map >= phb->ioda.total_pe_num) { phb 1676 arch/powerpc/platforms/powernv/pci-ioda.c mutex_unlock(&phb->ioda.pe_alloc_mutex); phb 1681 arch/powerpc/platforms/powernv/pci-ioda.c bitmap_set(phb->ioda.pe_alloc, *pdn->pe_num_map, num_vfs); phb 1682 arch/powerpc/platforms/powernv/pci-ioda.c mutex_unlock(&phb->ioda.pe_alloc_mutex); phb 1716 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pdn->pe_num_map[i]]; phb 1720 arch/powerpc/platforms/powernv/pci-ioda.c bitmap_clear(phb->ioda.pe_alloc, *pdn->pe_num_map, num_vfs); phb 1746 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_pci_ioda_dma_dev_setup(struct pnv_phb *phb, struct pci_dev *pdev) phb 1759 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pdn->pe_number]; phb 1807 arch/powerpc/platforms/powernv/pci-ioda.c table_pages = alloc_pages_node(pe->phb->hose->node, GFP_KERNEL, phb 1823 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_dma_window(pe->phb->opal_id, phb 1844 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 1851 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pdn->pe_number]; phb 1868 arch/powerpc/platforms/powernv/pci-ioda.c phb->model == PNV_PHB_MODEL_PHB3) { phb 1894 arch/powerpc/platforms/powernv/pci-ioda.c static inline __be64 __iomem *pnv_ioda_get_inval_reg(struct pnv_phb *phb, phb 1897 arch/powerpc/platforms/powernv/pci-ioda.c return real_mode ? (__be64 __iomem *)(phb->regs_phys + 0x210) : phb 1898 arch/powerpc/platforms/powernv/pci-ioda.c (phb->regs + 0x210); phb 1909 arch/powerpc/platforms/powernv/pci-ioda.c __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, rm); phb 1985 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_pci_phb3_tce_invalidate_entire(struct pnv_phb *phb, bool rm) phb 1987 arch/powerpc/platforms/powernv/pci-ioda.c __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(phb, rm); phb 2000 arch/powerpc/platforms/powernv/pci-ioda.c __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, false); phb 2011 arch/powerpc/platforms/powernv/pci-ioda.c __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, rm); phb 2036 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 2038 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->model == PNV_PHB_MODEL_PHB3 && phb->regs) phb 2041 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_tce_kill(phb->opal_id, OPAL_PCI_TCE_KILL_PE, phb 2053 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 2061 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->model == PNV_PHB_MODEL_NPU) { phb 2067 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_phb3_tce_invalidate_entire(phb, rm); phb 2070 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->model == PNV_PHB_MODEL_PHB3 && phb->regs) phb 2074 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_tce_kill(phb->opal_id, phb 2081 arch/powerpc/platforms/powernv/pci-ioda.c void pnv_pci_ioda2_tce_invalidate_entire(struct pnv_phb *phb, bool rm) phb 2083 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->model == PNV_PHB_MODEL_NPU || phb->model == PNV_PHB_MODEL_PHB3) phb 2084 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_phb3_tce_invalidate_entire(phb, rm); phb 2086 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_tce_kill(phb->opal_id, OPAL_PCI_TCE_KILL, 0, 0, 0, 0); phb 2171 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_pci_ioda1_setup_dma_pe(struct pnv_phb *phb, phb 2189 arch/powerpc/platforms/powernv/pci-ioda.c pci_walk_bus(phb->hose->bus, pnv_pci_ioda_dev_dma_weight, phb 2191 arch/powerpc/platforms/powernv/pci-ioda.c segs = (weight * phb->ioda.dma32_count) / total_weight; phb 2202 arch/powerpc/platforms/powernv/pci-ioda.c for (base = 0; base <= phb->ioda.dma32_count - segs; base++) { phb 2204 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.dma32_segmap[i] == phb 2220 arch/powerpc/platforms/powernv/pci-ioda.c tbl = pnv_pci_table_alloc(phb->hose->node); phb 2224 arch/powerpc/platforms/powernv/pci-ioda.c iommu_register_group(&pe->table_group, phb->hose->global_number, phb 2226 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_link_table_and_group(phb->hose->node, 0, tbl, &pe->table_group); phb 2244 arch/powerpc/platforms/powernv/pci-ioda.c tce_mem = alloc_pages_node(phb->hose->node, GFP_KERNEL, phb 2255 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_dma_window(phb->opal_id, phb 2269 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.dma32_segmap[i] = pe->pe_number; phb 2279 arch/powerpc/platforms/powernv/pci-ioda.c iommu_init_table(tbl, phb->hose->node, 0, 0); phb 2300 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 2315 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_dma_window(phb->opal_id, phb 2327 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_link_table_and_group(phb->hose->node, num, phb 2344 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_dma_window_real(pe->phb->opal_id, phb 2350 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_dma_window_real(pe->phb->opal_id, phb 2368 arch/powerpc/platforms/powernv/pci-ioda.c int nid = pe->phb->hose->node; phb 2445 arch/powerpc/platforms/powernv/pci-ioda.c if (window_size > pe->phb->ioda.m32_pci_base) { phb 2446 arch/powerpc/platforms/powernv/pci-ioda.c res_start = pe->phb->ioda.m32_pci_base >> tbl->it_page_shift; phb 2449 arch/powerpc/platforms/powernv/pci-ioda.c iommu_init_table(tbl, pe->phb->hose->node, res_start, res_end); phb 2479 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 2484 arch/powerpc/platforms/powernv/pci-ioda.c ret = opal_pci_map_pe_dma_window(phb->opal_id, pe->pe_number, phb 2608 arch/powerpc/platforms/powernv/pci-ioda.c static unsigned long pnv_ioda_parse_tce_sizes(struct pnv_phb *phb); phb 2613 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 2631 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 2633 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_NPU_NVLINK || phb 2634 arch/powerpc/platforms/powernv/pci-ioda.c phb->type == PNV_PHB_NPU_OCAPI) phb 2637 arch/powerpc/platforms/powernv/pci-ioda.c list_for_each_entry(pe, &phb->ioda.pe_list, list) { phb 2647 arch/powerpc/platforms/powernv/pci-ioda.c pe->phb->hose->global_number, phb 2662 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 2664 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type != PNV_PHB_NPU_NVLINK) phb 2667 arch/powerpc/platforms/powernv/pci-ioda.c pgsizes = pnv_ioda_parse_tce_sizes(phb); phb 2668 arch/powerpc/platforms/powernv/pci-ioda.c list_for_each_entry(pe, &phb->ioda.pe_list, list) { phb 2683 arch/powerpc/platforms/powernv/pci-ioda.c static unsigned long pnv_ioda_parse_tce_sizes(struct pnv_phb *phb) phb 2685 arch/powerpc/platforms/powernv/pci-ioda.c struct pci_controller *hose = phb->hose; phb 2711 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_pci_ioda2_setup_dma_pe(struct pnv_phb *phb, phb 2724 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_pci_base); phb 2728 arch/powerpc/platforms/powernv/pci-ioda.c pe->table_group.tce32_size = phb->ioda.m32_pci_base; phb 2732 arch/powerpc/platforms/powernv/pci-ioda.c pe->table_group.pgsizes = pnv_ioda_parse_tce_sizes(phb); phb 2747 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = container_of(chip, struct pnv_phb, phb 2750 arch/powerpc/platforms/powernv/pci-ioda.c return opal_pci_msi_eoi(phb->opal_id, hw_irq); phb 2766 arch/powerpc/platforms/powernv/pci-ioda.c void pnv_set_msi_irq_chip(struct pnv_phb *phb, unsigned int virq) phb 2772 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->model != PNV_PHB_MODEL_PHB3) phb 2775 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->ioda.irq_chip_init) { phb 2782 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.irq_chip_init = 1; phb 2783 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.irq_chip = *ichip; phb 2784 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.irq_chip.irq_eoi = pnv_ioda2_msi_eoi; phb 2786 arch/powerpc/platforms/powernv/pci-ioda.c irq_set_chip(virq, &phb->ioda.irq_chip); phb 2799 arch/powerpc/platforms/powernv/pci-ioda.c static int pnv_pci_ioda_msi_setup(struct pnv_phb *phb, struct pci_dev *dev, phb 2804 arch/powerpc/platforms/powernv/pci-ioda.c unsigned int xive_num = hwirq - phb->msi_base; phb 2821 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_set_xive_pe(phb->opal_id, pe->pe_number, xive_num); phb 2831 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_get_msi_64(phb->opal_id, pe->mve_number, xive_num, 1, phb 2843 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_get_msi_32(phb->opal_id, pe->mve_number, xive_num, 1, phb 2855 arch/powerpc/platforms/powernv/pci-ioda.c pnv_set_msi_irq_chip(phb, virq); phb 2865 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_pci_init_ioda_msis(struct pnv_phb *phb) phb 2868 arch/powerpc/platforms/powernv/pci-ioda.c const __be32 *prop = of_get_property(phb->hose->dn, phb 2872 arch/powerpc/platforms/powernv/pci-ioda.c prop = of_get_property(phb->hose->dn, "msi-ranges", NULL); phb 2877 arch/powerpc/platforms/powernv/pci-ioda.c phb->msi_base = be32_to_cpup(prop); phb 2879 arch/powerpc/platforms/powernv/pci-ioda.c if (msi_bitmap_alloc(&phb->msi_bmp, count, phb->hose->dn)) { phb 2881 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose->global_number); phb 2885 arch/powerpc/platforms/powernv/pci-ioda.c phb->msi_setup = pnv_pci_ioda_msi_setup; phb 2886 arch/powerpc/platforms/powernv/pci-ioda.c phb->msi32_support = 1; phb 2888 arch/powerpc/platforms/powernv/pci-ioda.c count, phb->msi_base); phb 2895 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 2896 arch/powerpc/platforms/powernv/pci-ioda.c const resource_size_t gate = phb->ioda.m64_segsize >> 2; phb 2908 arch/powerpc/platforms/powernv/pci-ioda.c mul = phb->ioda.total_pe_num; phb 3006 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 3015 arch/powerpc/platforms/powernv/pci-ioda.c region.start = res->start - phb->ioda.io_pci_base; phb 3016 arch/powerpc/platforms/powernv/pci-ioda.c region.end = res->end - phb->ioda.io_pci_base; phb 3017 arch/powerpc/platforms/powernv/pci-ioda.c index = region.start / phb->ioda.io_segsize; phb 3019 arch/powerpc/platforms/powernv/pci-ioda.c while (index < phb->ioda.total_pe_num && phb 3021 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_segmap[index] = pe->pe_number; phb 3022 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_mmio_window(phb->opal_id, phb 3030 arch/powerpc/platforms/powernv/pci-ioda.c region.start += phb->ioda.io_segsize; phb 3034 arch/powerpc/platforms/powernv/pci-ioda.c !pnv_pci_is_m64(phb, res)) { phb 3036 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose->mem_offset[0] - phb 3037 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_pci_base; phb 3039 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose->mem_offset[0] - phb 3040 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_pci_base; phb 3041 arch/powerpc/platforms/powernv/pci-ioda.c index = region.start / phb->ioda.m32_segsize; phb 3043 arch/powerpc/platforms/powernv/pci-ioda.c while (index < phb->ioda.total_pe_num && phb 3045 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_segmap[index] = pe->pe_number; phb 3046 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_mmio_window(phb->opal_id, phb 3054 arch/powerpc/platforms/powernv/pci-ioda.c region.start += phb->ioda.m32_segsize; phb 3098 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 3108 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 3111 arch/powerpc/platforms/powernv/pci-ioda.c ret = opal_pci_get_phb_diag_data2(phb->opal_id, phb->diag_data, phb 3112 arch/powerpc/platforms/powernv/pci-ioda.c phb->diag_data_size); phb 3117 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_dump_phb_diag_data(phb->hose, phb->diag_data); phb 3130 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 3134 arch/powerpc/platforms/powernv/pci-ioda.c phb = hose->private_data; phb 3137 arch/powerpc/platforms/powernv/pci-ioda.c phb->initialized = 1; phb 3140 arch/powerpc/platforms/powernv/pci-ioda.c phb->dbgfs = debugfs_create_dir(name, powerpc_debugfs_root); phb 3141 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->dbgfs) { phb 3147 arch/powerpc/platforms/powernv/pci-ioda.c debugfs_create_file("dump_diag_regs", 0200, phb->dbgfs, hose, phb 3218 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3237 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.m64_segsize && pnv_pci_is_m64_flags(type)) phb 3238 arch/powerpc/platforms/powernv/pci-ioda.c return phb->ioda.m64_segsize; phb 3240 arch/powerpc/platforms/powernv/pci-ioda.c return phb->ioda.m32_segsize; phb 3242 arch/powerpc/platforms/powernv/pci-ioda.c return phb->ioda.io_segsize; phb 3257 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3277 arch/powerpc/platforms/powernv/pci-ioda.c else if (pnv_pci_is_m64(phb, r) && phb 3279 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_segsize) phb 3306 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3315 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->ioda.root_pe_populated) { phb 3316 arch/powerpc/platforms/powernv/pci-ioda.c pe = pnv_ioda_setup_bus_PE(phb->hose->bus, false); phb 3318 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_idx = pe->pe_number; phb 3319 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_populated = true; phb 3340 arch/powerpc/platforms/powernv/pci-ioda.c switch (phb->type) { phb 3342 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_ioda1_setup_dma_pe(phb, pe); phb 3345 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_ioda2_setup_dma_pe(phb, pe); phb 3349 arch/powerpc/platforms/powernv/pci-ioda.c __func__, phb->hose->global_number, phb->type); phb 3363 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3388 arch/powerpc/platforms/powernv/pci-ioda.c return max(align, (resource_size_t)phb->ioda.m64_segsize); phb 3400 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3408 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->initialized) phb 3423 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 3428 arch/powerpc/platforms/powernv/pci-ioda.c for (idx = 0; idx < phb->ioda.dma32_count; idx++) { phb 3429 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.dma32_segmap[idx] != pe->pe_number) phb 3432 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_dma_window(phb->opal_id, pe->pe_number, phb 3440 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.dma32_segmap[idx] = IODA_INVALID_PE; phb 3500 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 3504 arch/powerpc/platforms/powernv/pci-ioda.c for (idx = 0; idx < phb->ioda.total_pe_num; idx++) { phb 3509 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_mmio_window(phb->opal_id, phb 3510 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.reserved_pe_idx, win, phb 3514 arch/powerpc/platforms/powernv/pci-ioda.c rc = opal_pci_map_pe_mmio_window(phb->opal_id, phb 3515 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.reserved_pe_idx, win, 0, idx); phb 3527 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 3529 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA1) { phb 3531 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_segmap); phb 3533 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_segmap); phb 3535 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_segmap); phb 3536 arch/powerpc/platforms/powernv/pci-ioda.c } else if (phb->type == PNV_PHB_IODA2) { phb 3538 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_segmap); phb 3544 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = pe->phb; phb 3548 arch/powerpc/platforms/powernv/pci-ioda.c switch (phb->type) { phb 3560 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_deconfigure_pe(pe->phb, pe); phb 3576 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.root_pe_populated && phb 3577 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_idx == pe->pe_number) phb 3578 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_populated = false; phb 3586 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3604 arch/powerpc/platforms/powernv/pci-ioda.c pe = &phb->ioda.pe_array[pdn->pe_number]; phb 3623 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3625 arch/powerpc/platforms/powernv/pci-ioda.c opal_pci_reset(phb->opal_id, OPAL_RESET_PCI_IODA_TABLE, phb 3665 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb; phb 3690 arch/powerpc/platforms/powernv/pci-ioda.c phb = memblock_alloc(sizeof(*phb), SMP_CACHE_BYTES); phb 3691 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb) phb 3693 arch/powerpc/platforms/powernv/pci-ioda.c sizeof(*phb)); phb 3696 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose = hose = pcibios_alloc_controller(np); phb 3697 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->hose) { phb 3700 arch/powerpc/platforms/powernv/pci-ioda.c memblock_free(__pa(phb), sizeof(struct pnv_phb)); phb 3704 arch/powerpc/platforms/powernv/pci-ioda.c spin_lock_init(&phb->lock); phb 3714 arch/powerpc/platforms/powernv/pci-ioda.c hose->private_data = phb; phb 3715 arch/powerpc/platforms/powernv/pci-ioda.c phb->hub_id = hub_id; phb 3716 arch/powerpc/platforms/powernv/pci-ioda.c phb->opal_id = phb_id; phb 3717 arch/powerpc/platforms/powernv/pci-ioda.c phb->type = ioda_type; phb 3718 arch/powerpc/platforms/powernv/pci-ioda.c mutex_init(&phb->ioda.pe_alloc_mutex); phb 3722 arch/powerpc/platforms/powernv/pci-ioda.c phb->model = PNV_PHB_MODEL_P7IOC; phb 3724 arch/powerpc/platforms/powernv/pci-ioda.c phb->model = PNV_PHB_MODEL_PHB3; phb 3726 arch/powerpc/platforms/powernv/pci-ioda.c phb->model = PNV_PHB_MODEL_NPU; phb 3728 arch/powerpc/platforms/powernv/pci-ioda.c phb->model = PNV_PHB_MODEL_NPU2; phb 3730 arch/powerpc/platforms/powernv/pci-ioda.c phb->model = PNV_PHB_MODEL_UNKNOWN; phb 3735 arch/powerpc/platforms/powernv/pci-ioda.c phb->diag_data_size = be32_to_cpup(prop32); phb 3737 arch/powerpc/platforms/powernv/pci-ioda.c phb->diag_data_size = PNV_PCI_DIAG_BUF_SIZE; phb 3739 arch/powerpc/platforms/powernv/pci-ioda.c phb->diag_data = memblock_alloc(phb->diag_data_size, SMP_CACHE_BYTES); phb 3740 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->diag_data) phb 3742 arch/powerpc/platforms/powernv/pci-ioda.c phb->diag_data_size); phb 3749 arch/powerpc/platforms/powernv/pci-ioda.c phb->regs_phys = r.start; phb 3750 arch/powerpc/platforms/powernv/pci-ioda.c phb->regs = ioremap(r.start, resource_size(&r)); phb 3751 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->regs == NULL) phb 3756 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.total_pe_num = 1; phb 3759 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.total_pe_num = be32_to_cpup(prop32); phb 3762 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.reserved_pe_idx = be32_to_cpup(prop32); phb 3765 arch/powerpc/platforms/powernv/pci-ioda.c for (segno = 0; segno < ARRAY_SIZE(phb->ioda.pe_rmap); segno++) phb 3766 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_rmap[segno] = IODA_INVALID_PE; phb 3769 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_parse_m64_window(phb); phb 3771 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_size = resource_size(&hose->mem_resources[0]); phb 3773 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_size += 0x10000; phb 3775 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_segsize = phb->ioda.m32_size / phb->ioda.total_pe_num; phb 3776 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_pci_base = hose->mem_resources[0].start - hose->mem_offset[0]; phb 3777 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_size = hose->pci_io_size; phb 3778 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_segsize = phb->ioda.io_size / phb->ioda.total_pe_num; phb 3779 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_pci_base = 0; /* XXX calculate this ? */ phb 3782 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.dma32_count = phb->ioda.m32_pci_base / phb 3786 arch/powerpc/platforms/powernv/pci-ioda.c size = _ALIGN_UP(max_t(unsigned, phb->ioda.total_pe_num, 8) / 8, phb 3789 arch/powerpc/platforms/powernv/pci-ioda.c size += phb->ioda.total_pe_num * sizeof(phb->ioda.m64_segmap[0]); phb 3791 arch/powerpc/platforms/powernv/pci-ioda.c size += phb->ioda.total_pe_num * sizeof(phb->ioda.m32_segmap[0]); phb 3792 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA1) { phb 3794 arch/powerpc/platforms/powernv/pci-ioda.c size += phb->ioda.total_pe_num * sizeof(phb->ioda.io_segmap[0]); phb 3796 arch/powerpc/platforms/powernv/pci-ioda.c size += phb->ioda.dma32_count * phb 3797 arch/powerpc/platforms/powernv/pci-ioda.c sizeof(phb->ioda.dma32_segmap[0]); phb 3800 arch/powerpc/platforms/powernv/pci-ioda.c size += phb->ioda.total_pe_num * sizeof(struct pnv_ioda_pe); phb 3804 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_alloc = aux; phb 3805 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_segmap = aux + m64map_off; phb 3806 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_segmap = aux + m32map_off; phb 3807 arch/powerpc/platforms/powernv/pci-ioda.c for (segno = 0; segno < phb->ioda.total_pe_num; segno++) { phb 3808 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_segmap[segno] = IODA_INVALID_PE; phb 3809 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_segmap[segno] = IODA_INVALID_PE; phb 3811 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_IODA1) { phb 3812 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_segmap = aux + iomap_off; phb 3813 arch/powerpc/platforms/powernv/pci-ioda.c for (segno = 0; segno < phb->ioda.total_pe_num; segno++) phb 3814 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_segmap[segno] = IODA_INVALID_PE; phb 3816 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.dma32_segmap = aux + dma32map_off; phb 3817 arch/powerpc/platforms/powernv/pci-ioda.c for (segno = 0; segno < phb->ioda.dma32_count; segno++) phb 3818 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.dma32_segmap[segno] = IODA_INVALID_PE; phb 3820 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.pe_array = aux + pemap_off; phb 3827 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_reserve_pe(phb, phb->ioda.reserved_pe_idx); phb 3828 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.reserved_pe_idx == 0) { phb 3829 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_idx = 1; phb 3830 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_reserve_pe(phb, phb->ioda.root_pe_idx); phb 3831 arch/powerpc/platforms/powernv/pci-ioda.c } else if (phb->ioda.reserved_pe_idx == (phb->ioda.total_pe_num - 1)) { phb 3832 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_idx = phb->ioda.reserved_pe_idx - 1; phb 3833 arch/powerpc/platforms/powernv/pci-ioda.c pnv_ioda_reserve_pe(phb, phb->ioda.root_pe_idx); phb 3835 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.root_pe_idx = IODA_INVALID_PE; phb 3838 arch/powerpc/platforms/powernv/pci-ioda.c INIT_LIST_HEAD(&phb->ioda.pe_list); phb 3839 arch/powerpc/platforms/powernv/pci-ioda.c mutex_init(&phb->ioda.pe_list_mutex); phb 3842 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.dma32_count = phb->ioda.m32_pci_base / phb 3855 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.total_pe_num, phb->ioda.reserved_pe_idx, phb 3856 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m32_size, phb->ioda.m32_segsize); phb 3857 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.m64_size) phb 3859 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.m64_size, phb->ioda.m64_segsize); phb 3860 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->ioda.io_size) phb 3862 arch/powerpc/platforms/powernv/pci-ioda.c phb->ioda.io_size, phb->ioda.io_segsize); phb 3865 arch/powerpc/platforms/powernv/pci-ioda.c phb->hose->ops = &pnv_pci_ops; phb 3866 arch/powerpc/platforms/powernv/pci-ioda.c phb->get_pe_state = pnv_ioda_get_pe_state; phb 3867 arch/powerpc/platforms/powernv/pci-ioda.c phb->freeze_pe = pnv_ioda_freeze_pe; phb 3868 arch/powerpc/platforms/powernv/pci-ioda.c phb->unfreeze_pe = pnv_ioda_unfreeze_pe; phb 3871 arch/powerpc/platforms/powernv/pci-ioda.c pnv_pci_init_ioda_msis(phb); phb 3882 arch/powerpc/platforms/powernv/pci-ioda.c switch (phb->type) { phb 3890 arch/powerpc/platforms/powernv/pci-ioda.c phb->dma_dev_setup = pnv_pci_ioda_dma_dev_setup; phb 3927 arch/powerpc/platforms/powernv/pci-ioda.c if (!phb->init_m64 || phb->init_m64(phb)) phb 3949 arch/powerpc/platforms/powernv/pci-ioda.c struct pnv_phb *phb = hose->private_data; phb 3954 arch/powerpc/platforms/powernv/pci-ioda.c if (phb->type == PNV_PHB_NPU_OCAPI) phb 162 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = hose->private_data; phb 169 arch/powerpc/platforms/powernv/pci.c if (WARN_ON(!phb) || !phb->msi_bmp.bitmap) phb 172 arch/powerpc/platforms/powernv/pci.c if (pdev->no_64bit_msi && !phb->msi32_support) phb 176 arch/powerpc/platforms/powernv/pci.c if (!entry->msi_attrib.is_64 && !phb->msi32_support) { phb 181 arch/powerpc/platforms/powernv/pci.c hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, 1); phb 187 arch/powerpc/platforms/powernv/pci.c virq = irq_create_mapping(NULL, phb->msi_base + hwirq); phb 191 arch/powerpc/platforms/powernv/pci.c msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, 1); phb 194 arch/powerpc/platforms/powernv/pci.c rc = phb->msi_setup(phb, pdev, phb->msi_base + hwirq, phb 199 arch/powerpc/platforms/powernv/pci.c msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, 1); phb 211 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = hose->private_data; phb 215 arch/powerpc/platforms/powernv/pci.c if (WARN_ON(!phb)) phb 224 arch/powerpc/platforms/powernv/pci.c msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq - phb->msi_base, 1); phb 554 arch/powerpc/platforms/powernv/pci.c static void pnv_pci_handle_eeh_config(struct pnv_phb *phb, u32 pe_no) phb 559 arch/powerpc/platforms/powernv/pci.c spin_lock_irqsave(&phb->lock, flags); phb 562 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_get_phb_diag_data2(phb->opal_id, phb->diag_data, phb 563 arch/powerpc/platforms/powernv/pci.c phb->diag_data_size); phb 567 arch/powerpc/platforms/powernv/pci.c if (phb->unfreeze_pe) { phb 568 arch/powerpc/platforms/powernv/pci.c ret = phb->unfreeze_pe(phb, phb 572 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_eeh_freeze_clear(phb->opal_id, phb 578 arch/powerpc/platforms/powernv/pci.c __func__, rc, phb->hose->global_number, phb 591 arch/powerpc/platforms/powernv/pci.c pnv_pci_dump_phb_diag_data(phb->hose, phb->diag_data); phb 593 arch/powerpc/platforms/powernv/pci.c spin_unlock_irqrestore(&phb->lock, flags); phb 598 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = pdn->phb->private_data; phb 611 arch/powerpc/platforms/powernv/pci.c pe_no = phb->ioda.reserved_pe_idx; phb 618 arch/powerpc/platforms/powernv/pci.c if (phb->get_pe_state) { phb 619 arch/powerpc/platforms/powernv/pci.c fstate = phb->get_pe_state(phb, pe_no); phb 621 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_eeh_freeze_status(phb->opal_id, phb 628 arch/powerpc/platforms/powernv/pci.c __func__, rc, phb->hose->global_number, pe_no); phb 644 arch/powerpc/platforms/powernv/pci.c if (phb->freeze_pe) phb 645 arch/powerpc/platforms/powernv/pci.c phb->freeze_pe(phb, pe_no); phb 647 arch/powerpc/platforms/powernv/pci.c pnv_pci_handle_eeh_config(phb, pe_no); phb 654 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = pdn->phb->private_data; phb 661 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_config_read_byte(phb->opal_id, bdfn, where, &v8); phb 667 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_config_read_half_word(phb->opal_id, bdfn, where, phb 674 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_config_read_word(phb->opal_id, bdfn, where, &v32); phb 690 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = pdn->phb->private_data; phb 697 arch/powerpc/platforms/powernv/pci.c opal_pci_config_write_byte(phb->opal_id, bdfn, where, val); phb 700 arch/powerpc/platforms/powernv/pci.c opal_pci_config_write_half_word(phb->opal_id, bdfn, where, val); phb 703 arch/powerpc/platforms/powernv/pci.c opal_pci_config_write_word(phb->opal_id, bdfn, where, val); phb 716 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = pdn->phb->private_data; phb 719 arch/powerpc/platforms/powernv/pci.c if (!(phb->flags & PNV_PHB_FLAG_EEH)) phb 747 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb; phb 759 arch/powerpc/platforms/powernv/pci.c phb = pdn->phb->private_data; phb 760 arch/powerpc/platforms/powernv/pci.c if (phb->flags & PNV_PHB_FLAG_EEH && pdn->edev) { phb 776 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb; phb 787 arch/powerpc/platforms/powernv/pci.c phb = pdn->phb->private_data; phb 788 arch/powerpc/platforms/powernv/pci.c if (!(phb->flags & PNV_PHB_FLAG_EEH)) phb 816 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = hose->private_data; phb 818 arch/powerpc/platforms/powernv/pci.c if (phb && phb->dma_dev_setup) phb 819 arch/powerpc/platforms/powernv/pci.c phb->dma_dev_setup(phb, pdev); phb 825 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb = hose->private_data; phb 828 arch/powerpc/platforms/powernv/pci.c list_for_each_entry(pe, &phb->ioda.pe_list, list) { phb 854 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb; phb 864 arch/powerpc/platforms/powernv/pci.c phb = hose->private_data; phb 867 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_get_pbcq_tunnel_bar(phb->opal_id, &val); phb 896 arch/powerpc/platforms/powernv/pci.c rc = opal_pci_set_pbcq_tunnel_bar(phb->opal_id, addr); phb 987 arch/powerpc/platforms/powernv/pci.c struct pnv_phb *phb; phb 994 arch/powerpc/platforms/powernv/pci.c phb = hose->private_data; phb 996 arch/powerpc/platforms/powernv/pci.c WARN_ON_ONCE(!phb); phb 997 arch/powerpc/platforms/powernv/pci.c if (!pdn || pdn->pe_number == IODA_INVALID_PE || !phb) phb 1000 arch/powerpc/platforms/powernv/pci.c pe = &phb->ioda.pe_array[pdn->pe_number]; phb 43 arch/powerpc/platforms/powernv/pci.h struct pnv_phb *phb; phb 108 arch/powerpc/platforms/powernv/pci.h int (*msi_setup)(struct pnv_phb *phb, struct pci_dev *dev, phb 111 arch/powerpc/platforms/powernv/pci.h void (*dma_dev_setup)(struct pnv_phb *phb, struct pci_dev *pdev); phb 112 arch/powerpc/platforms/powernv/pci.h int (*init_m64)(struct pnv_phb *phb); phb 113 arch/powerpc/platforms/powernv/pci.h int (*get_pe_state)(struct pnv_phb *phb, int pe_no); phb 114 arch/powerpc/platforms/powernv/pci.h void (*freeze_pe)(struct pnv_phb *phb, int pe_no); phb 115 arch/powerpc/platforms/powernv/pci.h int (*unfreeze_pe)(struct pnv_phb *phb, int pe_no, int opt); phb 197 arch/powerpc/platforms/powernv/pci.h extern void pnv_set_msi_irq_chip(struct pnv_phb *phb, unsigned int virq); phb 214 arch/powerpc/platforms/powernv/pci.h extern void pnv_pci_ioda2_tce_invalidate_entire(struct pnv_phb *phb, bool rm); phb 281 arch/powerpc/platforms/pseries/eeh_pseries.c pe.phb = pdn->phb; phb 362 arch/powerpc/platforms/pseries/eeh_pseries.c config_addr, BUID_HI(pe->phb->buid), phb 363 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid), option); phb 393 arch/powerpc/platforms/pseries/eeh_pseries.c pe->config_addr, BUID_HI(pe->phb->buid), phb 394 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid), 1); phb 400 arch/powerpc/platforms/pseries/eeh_pseries.c pe->config_addr, BUID_HI(pe->phb->buid), phb 401 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid), 0); phb 404 arch/powerpc/platforms/pseries/eeh_pseries.c __func__, pe->phb->global_number, pe->config_addr); phb 413 arch/powerpc/platforms/pseries/eeh_pseries.c pe->config_addr, BUID_HI(pe->phb->buid), phb 414 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid), 0); phb 417 arch/powerpc/platforms/pseries/eeh_pseries.c __func__, pe->phb->global_number, pe->config_addr); phb 454 arch/powerpc/platforms/pseries/eeh_pseries.c config_addr, BUID_HI(pe->phb->buid), phb 455 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid)); phb 460 arch/powerpc/platforms/pseries/eeh_pseries.c config_addr, BUID_HI(pe->phb->buid), phb 461 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid)); phb 524 arch/powerpc/platforms/pseries/eeh_pseries.c config_addr, BUID_HI(pe->phb->buid), phb 525 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid), option); phb 532 arch/powerpc/platforms/pseries/eeh_pseries.c config_addr, BUID_HI(pe->phb->buid), phb 533 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid), option); phb 572 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_HI(pe->phb->buid), BUID_LO(pe->phb->buid), phb 605 arch/powerpc/platforms/pseries/eeh_pseries.c config_addr, BUID_HI(pe->phb->buid), phb 606 arch/powerpc/platforms/pseries/eeh_pseries.c BUID_LO(pe->phb->buid)); phb 629 arch/powerpc/platforms/pseries/eeh_pseries.c __func__, pe->phb->global_number, pe->addr, ret); phb 694 arch/powerpc/platforms/pseries/eeh_pseries.c buid = pdn->phb->buid; phb 706 arch/powerpc/platforms/pseries/eeh_pseries.c pdn->phb->global_number, addr, rc); phb 480 arch/powerpc/platforms/pseries/iommu.c static void iommu_table_setparms(struct pci_controller *phb, phb 488 arch/powerpc/platforms/pseries/iommu.c node = phb->dn; phb 503 arch/powerpc/platforms/pseries/iommu.c tbl->it_busno = phb->bus->number; phb 507 arch/powerpc/platforms/pseries/iommu.c tbl->it_offset = phb->dma_window_base_cur >> tbl->it_page_shift; phb 510 arch/powerpc/platforms/pseries/iommu.c if (phb->dma_window_base_cur + phb->dma_window_size > 0x80000000ul) { phb 515 arch/powerpc/platforms/pseries/iommu.c phb->dma_window_base_cur += phb->dma_window_size; phb 518 arch/powerpc/platforms/pseries/iommu.c tbl->it_size = phb->dma_window_size >> tbl->it_page_shift; phb 530 arch/powerpc/platforms/pseries/iommu.c static void iommu_table_setparms_lpar(struct pci_controller *phb, phb 540 arch/powerpc/platforms/pseries/iommu.c tbl->it_busno = phb->bus->number; phb 603 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_size = 0x80000000ul; /* To be divided */ phb 605 arch/powerpc/platforms/pseries/iommu.c while (pci->phb->dma_window_size * children > 0x80000000ul) phb 606 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_size >>= 1; phb 608 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_size); phb 609 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_base_cur = 0; phb 619 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_size = 0x8000000ul; phb 620 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_base_cur = 0x8000000ul; phb 622 arch/powerpc/platforms/pseries/iommu.c pci->table_group = iommu_pseries_alloc_group(pci->phb->node); phb 625 arch/powerpc/platforms/pseries/iommu.c iommu_table_setparms(pci->phb, dn, tbl); phb 627 arch/powerpc/platforms/pseries/iommu.c iommu_init_table(tbl, pci->phb->node, 0, 0); phb 630 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_size = 0x80000000ul; phb 631 arch/powerpc/platforms/pseries/iommu.c while (pci->phb->dma_window_size * children > 0x70000000ul) phb 632 arch/powerpc/platforms/pseries/iommu.c pci->phb->dma_window_size >>= 1; phb 634 arch/powerpc/platforms/pseries/iommu.c pr_debug("ISA/IDE, window size is 0x%llx\n", pci->phb->dma_window_size); phb 704 arch/powerpc/platforms/pseries/iommu.c ppci->table_group = iommu_pseries_alloc_group(ppci->phb->node); phb 706 arch/powerpc/platforms/pseries/iommu.c iommu_table_setparms_lpar(ppci->phb, pdn, tbl, phb 709 arch/powerpc/platforms/pseries/iommu.c iommu_init_table(tbl, ppci->phb->node, 0, 0); phb 731 arch/powerpc/platforms/pseries/iommu.c struct pci_controller *phb = PCI_DN(dn)->phb; phb 734 arch/powerpc/platforms/pseries/iommu.c PCI_DN(dn)->table_group = iommu_pseries_alloc_group(phb->node); phb 736 arch/powerpc/platforms/pseries/iommu.c iommu_table_setparms(phb, dn, tbl); phb 738 arch/powerpc/platforms/pseries/iommu.c iommu_init_table(tbl, phb->node, 0, 0); phb 889 arch/powerpc/platforms/pseries/iommu.c buid = pdn->phb->buid; phb 918 arch/powerpc/platforms/pseries/iommu.c buid = pdn->phb->buid; phb 1183 arch/powerpc/platforms/pseries/iommu.c pci->table_group = iommu_pseries_alloc_group(pci->phb->node); phb 1185 arch/powerpc/platforms/pseries/iommu.c iommu_table_setparms_lpar(pci->phb, pdn, tbl, phb 1188 arch/powerpc/platforms/pseries/iommu.c iommu_init_table(tbl, pci->phb->node, 0, 0); phb 1190 arch/powerpc/platforms/pseries/iommu.c pci_domain_nr(pci->phb->bus), 0); phb 36 arch/powerpc/platforms/pseries/msi.c buid = pdn->phb->buid; phb 97 arch/powerpc/platforms/pseries/msi.c buid = pdn->phb->buid; phb 499 arch/powerpc/platforms/pseries/msi.c struct pci_controller *phb; phb 516 arch/powerpc/platforms/pseries/msi.c list_for_each_entry(phb, &hose_list, list_node) { phb 517 arch/powerpc/platforms/pseries/msi.c WARN_ON(phb->controller_ops.setup_msi_irqs); phb 518 arch/powerpc/platforms/pseries/msi.c phb->controller_ops.setup_msi_irqs = rtas_setup_msi_irqs; phb 519 arch/powerpc/platforms/pseries/msi.c phb->controller_ops.teardown_msi_irqs = rtas_teardown_msi_irqs; phb 72 arch/powerpc/platforms/pseries/pci.c buid = pdn->phb->buid; phb 39 arch/powerpc/platforms/pseries/pci_dlpar.c struct pci_controller *phb; phb 43 arch/powerpc/platforms/pseries/pci_dlpar.c phb = pcibios_alloc_controller(dn); phb 44 arch/powerpc/platforms/pseries/pci_dlpar.c if (!phb) phb 46 arch/powerpc/platforms/pseries/pci_dlpar.c rtas_setup_phb(phb); phb 47 arch/powerpc/platforms/pseries/pci_dlpar.c pci_process_bridge_OF_ranges(phb, dn, 0); phb 48 arch/powerpc/platforms/pseries/pci_dlpar.c phb->controller_ops = pseries_pci_controller_ops; phb 50 arch/powerpc/platforms/pseries/pci_dlpar.c pci_devs_phb_init_dynamic(phb); phb 53 arch/powerpc/platforms/pseries/pci_dlpar.c eeh_dev_phb_init_dynamic(phb); phb 58 arch/powerpc/platforms/pseries/pci_dlpar.c pcibios_scan_phb(phb); phb 59 arch/powerpc/platforms/pseries/pci_dlpar.c pcibios_finish_adding_to_bus(phb->bus); phb 61 arch/powerpc/platforms/pseries/pci_dlpar.c return phb; phb 66 arch/powerpc/platforms/pseries/pci_dlpar.c int remove_phb_dynamic(struct pci_controller *phb) phb 68 arch/powerpc/platforms/pseries/pci_dlpar.c struct pci_bus *b = phb->bus; phb 82 arch/powerpc/platforms/pseries/pci_dlpar.c res = &phb->io_resource; phb 93 arch/powerpc/platforms/pseries/pci_dlpar.c phb->bus = NULL; phb 103 arch/powerpc/platforms/pseries/pci_dlpar.c res = &phb->mem_resources[i]; phb 254 arch/powerpc/platforms/pseries/setup.c pci_add_device_node_info(pdn->phb, np); phb 457 arch/powerpc/platforms/pseries/setup.c struct pci_controller *phb; phb 465 arch/powerpc/platforms/pseries/setup.c phb = pcibios_alloc_controller(node); phb 466 arch/powerpc/platforms/pseries/setup.c if (!phb) phb 468 arch/powerpc/platforms/pseries/setup.c rtas_setup_phb(phb); phb 469 arch/powerpc/platforms/pseries/setup.c pci_process_bridge_OF_ranges(phb, node, 0); phb 470 arch/powerpc/platforms/pseries/setup.c isa_bridge_find_early(phb); phb 471 arch/powerpc/platforms/pseries/setup.c phb->controller_ops = pseries_pci_controller_ops; phb 406 arch/powerpc/sysdev/fsl_msi.c struct pci_controller *phb; phb 548 arch/powerpc/sysdev/fsl_msi.c list_for_each_entry(phb, &hose_list, list_node) { phb 549 arch/powerpc/sysdev/fsl_msi.c if (!phb->controller_ops.setup_msi_irqs) { phb 550 arch/powerpc/sysdev/fsl_msi.c phb->controller_ops.setup_msi_irqs = fsl_setup_msi_irqs; phb 551 arch/powerpc/sysdev/fsl_msi.c phb->controller_ops.teardown_msi_irqs = fsl_teardown_msi_irqs; phb 552 arch/powerpc/sysdev/fsl_msi.c } else if (phb->controller_ops.setup_msi_irqs != fsl_setup_msi_irqs) { phb 1284 arch/powerpc/sysdev/fsl_pci.c void fsl_pcibios_fixup_phb(struct pci_controller *phb) phb 1287 arch/powerpc/sysdev/fsl_pci.c fsl_pci_pme_probe(phb); phb 116 arch/powerpc/sysdev/fsl_pci.h extern void fsl_pcibios_fixup_phb(struct pci_controller *phb); phb 180 arch/powerpc/sysdev/mpic_u3msi.c struct pci_controller *phb; phb 193 arch/powerpc/sysdev/mpic_u3msi.c list_for_each_entry(phb, &hose_list, list_node) { phb 194 arch/powerpc/sysdev/mpic_u3msi.c WARN_ON(phb->controller_ops.setup_msi_irqs); phb 195 arch/powerpc/sysdev/mpic_u3msi.c phb->controller_ops.setup_msi_irqs = u3msi_setup_msi_irqs; phb 196 arch/powerpc/sysdev/mpic_u3msi.c phb->controller_ops.teardown_msi_irqs = u3msi_teardown_msi_irqs; phb 1066 arch/x86/kernel/pci-calgary_64.c int rioidx, phb, bus; phb 1085 arch/x86/kernel/pci-calgary_64.c for (phb = 0; phb < PHBS_PER_CALGARY; phb++) { phb 1086 arch/x86/kernel/pci-calgary_64.c offset = phb_debug_offsets[phb] | PHB_DEBUG_STUFF_OFFSET; phb 1097 arch/x86/kernel/pci-calgary_64.c bus_info[bus].phbid = phb; phb 1101 arch/x86/kernel/pci-calgary_64.c bus_info[start_bus].phbid = phb; phb 503 drivers/misc/cxl/cxl.h struct pci_controller *phb; phb 24 drivers/misc/cxl/guest.c if (afu->phb == NULL) phb 27 drivers/misc/cxl/guest.c list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { phb 1804 drivers/misc/cxl/pci.c if (afu == NULL || afu->phb == NULL) phb 1807 drivers/misc/cxl/pci.c list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { phb 2002 drivers/misc/cxl/pci.c if (afu->phb == NULL) phb 2005 drivers/misc/cxl/pci.c list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { phb 2073 drivers/misc/cxl/pci.c if (afu == NULL || afu->phb == NULL) phb 2076 drivers/misc/cxl/pci.c list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { phb 30 drivers/misc/cxl/vphb.c struct pci_controller *phb; phb 34 drivers/misc/cxl/vphb.c phb = pci_bus_to_host(dev->bus); phb 35 drivers/misc/cxl/vphb.c afu = (struct cxl_afu *)phb->private_data; phb 88 drivers/misc/cxl/vphb.c struct pci_controller *phb = bus ? pci_bus_to_host(bus) : NULL; phb 90 drivers/misc/cxl/vphb.c return phb ? phb->private_data : NULL; phb 211 drivers/misc/cxl/vphb.c struct pci_controller *phb; phb 237 drivers/misc/cxl/vphb.c phb = pcibios_alloc_controller(vphb_dn); phb 238 drivers/misc/cxl/vphb.c if (!phb) phb 242 drivers/misc/cxl/vphb.c phb->parent = parent; phb 245 drivers/misc/cxl/vphb.c phb->ops = &cxl_pcie_pci_ops; phb 246 drivers/misc/cxl/vphb.c phb->cfg_addr = NULL; phb 247 drivers/misc/cxl/vphb.c phb->cfg_data = NULL; phb 248 drivers/misc/cxl/vphb.c phb->private_data = afu; phb 249 drivers/misc/cxl/vphb.c phb->controller_ops = cxl_pci_controller_ops; phb 252 drivers/misc/cxl/vphb.c pcibios_scan_phb(phb); phb 253 drivers/misc/cxl/vphb.c if (phb->bus == NULL) phb 257 drivers/misc/cxl/vphb.c pci_set_host_bridge_release(to_pci_host_bridge(phb->bus->bridge), phb 259 drivers/misc/cxl/vphb.c (void *) phb); phb 265 drivers/misc/cxl/vphb.c pcibios_claim_one_bus(phb->bus); phb 268 drivers/misc/cxl/vphb.c pci_bus_add_devices(phb->bus); phb 270 drivers/misc/cxl/vphb.c afu->phb = phb; phb 277 drivers/misc/cxl/vphb.c struct pci_controller *phb; phb 280 drivers/misc/cxl/vphb.c if (!afu || !afu->phb) phb 283 drivers/misc/cxl/vphb.c phb = afu->phb; phb 284 drivers/misc/cxl/vphb.c afu->phb = NULL; phb 286 drivers/misc/cxl/vphb.c pci_remove_root_bus(phb->bus); phb 295 drivers/misc/cxl/vphb.c struct pci_controller *phb; phb 297 drivers/misc/cxl/vphb.c phb = pci_bus_to_host(dev->bus); phb 299 drivers/misc/cxl/vphb.c return (phb->ops == &cxl_pcie_pci_ops); phb 304 drivers/misc/cxl/vphb.c struct pci_controller *phb; phb 306 drivers/misc/cxl/vphb.c phb = pci_bus_to_host(dev->bus); phb 308 drivers/misc/cxl/vphb.c return (struct cxl_afu *)phb->private_data; phb 140 drivers/pci/hotplug/rpadlpar_core.c struct pci_controller *phb = pdn->phb; phb 146 drivers/pci/hotplug/rpadlpar_core.c dev = of_create_pci_dev(dn, phb->bus, pdn->devfn); phb 165 drivers/pci/hotplug/rpadlpar_core.c pcibios_finish_adding_to_bus(phb->bus); phb 171 drivers/pci/hotplug/rpadlpar_core.c struct pci_controller *phb; phb 180 drivers/pci/hotplug/rpadlpar_core.c phb = PCI_DN(dn)->phb; phb 181 drivers/pci/hotplug/rpadlpar_core.c dev = dlpar_find_new_dev(phb->bus, dn); phb 222 drivers/pci/hotplug/rpadlpar_core.c BUG_ON(!pdn || !pdn->phb); phb 223 drivers/pci/hotplug/rpadlpar_core.c rc = remove_phb_dynamic(pdn->phb); phb 227 drivers/pci/hotplug/rpadlpar_core.c pdn->phb = NULL; phb 234 drivers/pci/hotplug/rpadlpar_core.c struct pci_controller *phb; phb 236 drivers/pci/hotplug/rpadlpar_core.c if (PCI_DN(dn) && PCI_DN(dn)->phb) { phb 241 drivers/pci/hotplug/rpadlpar_core.c phb = init_phb_dynamic(dn); phb 242 drivers/pci/hotplug/rpadlpar_core.c if (!phb)