Searched refs:phb (Results 1 - 25 of 50) sorted by relevance

12

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

Completed in 232 milliseconds

12