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)