Home
last modified time | relevance | path

Searched refs:phb (Results 1 – 48 of 48) sorted by relevance

/linux-4.4.14/arch/powerpc/platforms/powernv/
Dpci-p5ioc2.c44 static int pnv_pci_p5ioc2_msi_setup(struct pnv_phb *phb, struct pci_dev *dev, in pnv_pci_p5ioc2_msi_setup() argument
50 msg->data = hwirq - phb->msi_base; in pnv_pci_p5ioc2_msi_setup()
57 static void pnv_pci_init_p5ioc2_msis(struct pnv_phb *phb) in pnv_pci_init_p5ioc2_msis() argument
60 const __be32 *prop = of_get_property(phb->hose->dn, in pnv_pci_init_p5ioc2_msis()
68 if (of_device_is_compatible(phb->hose->dn, "ibm,p5ioc2-pcix")) in pnv_pci_init_p5ioc2_msis()
70 phb->msi_base = be32_to_cpup(prop); in pnv_pci_init_p5ioc2_msis()
72 if (msi_bitmap_alloc(&phb->msi_bmp, count, phb->hose->dn)) { in pnv_pci_init_p5ioc2_msis()
74 phb->hose->global_number); in pnv_pci_init_p5ioc2_msis()
77 phb->msi_setup = pnv_pci_p5ioc2_msi_setup; in pnv_pci_init_p5ioc2_msis()
78 phb->msi32_support = 0; in pnv_pci_init_p5ioc2_msis()
[all …]
Dpci-ioda.c135 static void pnv_ioda_reserve_pe(struct pnv_phb *phb, int pe_no) in pnv_ioda_reserve_pe() argument
137 if (!(pe_no >= 0 && pe_no < phb->ioda.total_pe)) { in pnv_ioda_reserve_pe()
139 __func__, pe_no, phb->hose->global_number); in pnv_ioda_reserve_pe()
143 if (test_and_set_bit(pe_no, phb->ioda.pe_alloc)) in pnv_ioda_reserve_pe()
145 __func__, pe_no, phb->hose->global_number); in pnv_ioda_reserve_pe()
147 phb->ioda.pe_array[pe_no].phb = phb; in pnv_ioda_reserve_pe()
148 phb->ioda.pe_array[pe_no].pe_number = pe_no; in pnv_ioda_reserve_pe()
151 static int pnv_ioda_alloc_pe(struct pnv_phb *phb) in pnv_ioda_alloc_pe() argument
156 pe = find_next_zero_bit(phb->ioda.pe_alloc, in pnv_ioda_alloc_pe()
157 phb->ioda.total_pe, 0); in pnv_ioda_alloc_pe()
[all …]
Deeh-powernv.c49 struct pnv_phb *phb; in pnv_eeh_init() local
66 phb = hose->private_data; in pnv_eeh_init()
68 if (phb->model == PNV_PHB_MODEL_P7IOC) in pnv_eeh_init()
78 if (phb->ioda.reserved_pe != 0) in pnv_eeh_init()
134 edev->phb = hose; in pnv_eeh_ei_write()
155 struct pnv_phb *phb = hose->private_data; in pnv_eeh_dbgfs_set() local
157 out_be64(phb->regs + offset, val); in pnv_eeh_dbgfs_set()
164 struct pnv_phb *phb = hose->private_data; in pnv_eeh_dbgfs_get() local
166 *val = in_be64(phb->regs + offset); in pnv_eeh_dbgfs_get()
219 struct pnv_phb *phb; in pnv_eeh_post_init() local
[all …]
Dpci.c51 struct pnv_phb *phb = hose->private_data; in pnv_setup_msi_irqs() local
58 if (WARN_ON(!phb) || !phb->msi_bmp.bitmap) in pnv_setup_msi_irqs()
61 if (pdev->no_64bit_msi && !phb->msi32_support) in pnv_setup_msi_irqs()
65 if (!entry->msi_attrib.is_64 && !phb->msi32_support) { in pnv_setup_msi_irqs()
70 hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, 1); in pnv_setup_msi_irqs()
76 virq = irq_create_mapping(NULL, phb->msi_base + hwirq); in pnv_setup_msi_irqs()
80 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, 1); in pnv_setup_msi_irqs()
83 rc = phb->msi_setup(phb, pdev, phb->msi_base + hwirq, in pnv_setup_msi_irqs()
88 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, 1); in pnv_setup_msi_irqs()
100 struct pnv_phb *phb = hose->private_data; in pnv_teardown_msi_irqs() local
[all …]
Dpci.h32 struct pnv_phb *phb; member
104 int (*msi_setup)(struct pnv_phb *phb, struct pci_dev *dev,
107 void (*dma_dev_setup)(struct pnv_phb *phb, struct pci_dev *pdev);
109 u32 (*bdfn_to_pe)(struct pnv_phb *phb, struct pci_bus *bus, u32 devfn);
110 int (*init_m64)(struct pnv_phb *phb);
114 int (*get_pe_state)(struct pnv_phb *phb, int pe_no);
115 void (*freeze_pe)(struct pnv_phb *phb, int pe_no);
116 int (*unfreeze_pe)(struct pnv_phb *phb, int pe_no, int opt);
/linux-4.4.14/drivers/misc/cxl/
Dvphb.c45 struct pci_controller *phb; in cxl_pci_enable_device_hook() local
49 phb = pci_bus_to_host(dev->bus); in cxl_pci_enable_device_hook()
50 afu = (struct cxl_afu *)phb->private_data; in cxl_pci_enable_device_hook()
102 static unsigned long cxl_pcie_cfg_addr(struct pci_controller* phb, in cxl_pcie_cfg_addr() argument
107 return (unsigned long)phb->cfg_addr + ((unsigned long)phb->cfg_data * record) + offset; in cxl_pcie_cfg_addr()
116 struct pci_controller *phb; in cxl_pcie_config_info() local
120 phb = pci_bus_to_host(bus); in cxl_pcie_config_info()
121 if (phb == NULL) in cxl_pcie_config_info()
123 afu = (struct cxl_afu *)phb->private_data; in cxl_pcie_config_info()
127 if (offset >= (unsigned long)phb->cfg_data) in cxl_pcie_config_info()
[all …]
Dpci.c1331 list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { in cxl_vphb_error_detected()
1496 list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { in cxl_pci_slot_reset()
1558 list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) { in cxl_pci_resume()
Dcxl.h387 struct pci_controller *phb; member
/linux-4.4.14/arch/powerpc/platforms/pseries/
Dpci_dlpar.c62 if (!pdn || !pdn->phb || !pdn->phb->bus) in pcibios_find_pci_bus()
65 return find_bus_among_children(pdn->phb->bus, dn); in pcibios_find_pci_bus()
71 struct pci_controller *phb; in init_phb_dynamic() local
75 phb = pcibios_alloc_controller(dn); in init_phb_dynamic()
76 if (!phb) in init_phb_dynamic()
78 rtas_setup_phb(phb); in init_phb_dynamic()
79 pci_process_bridge_OF_ranges(phb, dn, 0); in init_phb_dynamic()
80 phb->controller_ops = pseries_pci_controller_ops; in init_phb_dynamic()
82 pci_devs_phb_init_dynamic(phb); in init_phb_dynamic()
85 eeh_dev_phb_init_dynamic(phb); in init_phb_dynamic()
[all …]
Deeh_pseries.c245 pe.phb = edev->phb; in pseries_eeh_probe()
270 PCI_FUNC(pdn->devfn), pe.phb->global_number, in pseries_eeh_probe()
328 config_addr, BUID_HI(pe->phb->buid), in pseries_eeh_set_option()
329 BUID_LO(pe->phb->buid), option); in pseries_eeh_set_option()
359 pe->config_addr, BUID_HI(pe->phb->buid), in pseries_eeh_get_pe_addr()
360 BUID_LO(pe->phb->buid), 1); in pseries_eeh_get_pe_addr()
366 pe->config_addr, BUID_HI(pe->phb->buid), in pseries_eeh_get_pe_addr()
367 BUID_LO(pe->phb->buid), 0); in pseries_eeh_get_pe_addr()
370 __func__, pe->phb->global_number, pe->config_addr); in pseries_eeh_get_pe_addr()
379 pe->config_addr, BUID_HI(pe->phb->buid), in pseries_eeh_get_pe_addr()
[all …]
Diommu.c535 static void iommu_table_setparms(struct pci_controller *phb, in iommu_table_setparms() argument
543 node = phb->dn; in iommu_table_setparms()
558 tbl->it_busno = phb->bus->number; in iommu_table_setparms()
562 tbl->it_offset = phb->dma_window_base_cur >> tbl->it_page_shift; in iommu_table_setparms()
565 if (phb->dma_window_base_cur + phb->dma_window_size > 0x80000000ul) { in iommu_table_setparms()
570 phb->dma_window_base_cur += phb->dma_window_size; in iommu_table_setparms()
573 tbl->it_size = phb->dma_window_size >> tbl->it_page_shift; in iommu_table_setparms()
601 static void iommu_table_setparms_lpar(struct pci_controller *phb, in iommu_table_setparms_lpar() argument
610 tbl->it_busno = phb->bus->number; in iommu_table_setparms_lpar()
670 pci->phb->dma_window_size = 0x80000000ul; /* To be divided */ in pci_dma_bus_setup_pSeries()
[all …]
Dsetup.c268 update_dn_pci_info(np, pdn->phb); in pci_dn_reconfig_notifier()
269 eeh_dev_init(PCI_DN(np), pdn->phb); in pci_dn_reconfig_notifier()
475 struct pci_controller *phb; in find_and_init_phbs() local
483 phb = pcibios_alloc_controller(node); in find_and_init_phbs()
484 if (!phb) in find_and_init_phbs()
486 rtas_setup_phb(phb); in find_and_init_phbs()
487 pci_process_bridge_OF_ranges(phb, node, 0); in find_and_init_phbs()
488 isa_bridge_find_early(phb); in find_and_init_phbs()
489 phb->controller_ops = pseries_pci_controller_ops; in find_and_init_phbs()
Dmsi.c41 buid = pdn->phb->buid; in rtas_change_msi()
102 buid = pdn->phb->buid; in rtas_query_irq_number()
510 struct pci_controller *phb; in rtas_msi_init() local
527 list_for_each_entry(phb, &hose_list, list_node) { in rtas_msi_init()
528 WARN_ON(phb->controller_ops.setup_msi_irqs); in rtas_msi_init()
529 phb->controller_ops.setup_msi_irqs = rtas_setup_msi_irqs; in rtas_msi_init()
530 phb->controller_ops.teardown_msi_irqs = rtas_teardown_msi_irqs; in rtas_msi_init()
/linux-4.4.14/arch/powerpc/kernel/
Dof_platform.c42 struct pci_controller *phb; in of_pci_phb_probe() local
51 phb = pcibios_alloc_controller(dev->dev.of_node); in of_pci_phb_probe()
52 if (!phb) in of_pci_phb_probe()
56 phb->parent = &dev->dev; in of_pci_phb_probe()
59 if (ppc_md.pci_setup_phb(phb)) { in of_pci_phb_probe()
60 pcibios_free_controller(phb); in of_pci_phb_probe()
65 pci_process_bridge_OF_ranges(phb, dev->dev.of_node, 0); in of_pci_phb_probe()
68 pci_devs_phb_init_dynamic(phb); in of_pci_phb_probe()
71 eeh_dev_phb_init_dynamic(phb); in of_pci_phb_probe()
78 pcibios_scan_phb(phb); in of_pci_phb_probe()
[all …]
Deeh_dev.c54 struct pci_controller *phb = data; in eeh_dev_init() local
68 edev->phb = phb; in eeh_dev_init()
81 void eeh_dev_phb_init_dynamic(struct pci_controller *phb) in eeh_dev_phb_init_dynamic() argument
83 struct pci_dn *root = phb->pci_data; in eeh_dev_phb_init_dynamic()
86 eeh_phb_pe_create(phb); in eeh_dev_phb_init_dynamic()
89 eeh_dev_init(root, phb); in eeh_dev_phb_init_dynamic()
92 traverse_pci_dn(root, eeh_dev_init, phb); in eeh_dev_phb_init_dynamic()
103 struct pci_controller *phb, *tmp; in eeh_dev_phb_init() local
105 list_for_each_entry_safe(phb, tmp, &hose_list, list_node) in eeh_dev_phb_init()
106 eeh_dev_phb_init_dynamic(phb); in eeh_dev_phb_init()
Dmsi.c18 struct pci_controller *phb = pci_bus_to_host(dev->bus); in arch_setup_msi_irqs() local
20 if (!phb->controller_ops.setup_msi_irqs || in arch_setup_msi_irqs()
21 !phb->controller_ops.teardown_msi_irqs) { in arch_setup_msi_irqs()
30 return phb->controller_ops.setup_msi_irqs(dev, nvec, type); in arch_setup_msi_irqs()
35 struct pci_controller *phb = pci_bus_to_host(dev->bus); in arch_teardown_msi_irqs() local
37 phb->controller_ops.teardown_msi_irqs(dev); in arch_teardown_msi_irqs()
Drtas_pci.c75 buid = pdn->phb->buid; in rtas_read_config()
138 buid = pdn->phb->buid; in rtas_write_config()
237 unsigned long get_phb_buid(struct device_node *phb) in get_phb_buid() argument
243 if (of_address_to_resource(phb, 0, &r)) in get_phb_buid()
249 struct pci_controller *phb) in phb_set_bus_ranges() argument
259 phb->first_busno = be32_to_cpu(bus_range[0]); in phb_set_bus_ranges()
260 phb->last_busno = be32_to_cpu(bus_range[1]); in phb_set_bus_ranges()
265 int rtas_setup_phb(struct pci_controller *phb) in rtas_setup_phb() argument
267 struct device_node *dev = phb->dn; in rtas_setup_phb()
272 if (phb_set_bus_ranges(dev, phb)) in rtas_setup_phb()
[all …]
Dpci-hotplug.c32 struct pci_controller *phb = pci_bus_to_host(dev->bus); in pcibios_release_device() local
36 if (phb->controller_ops.release_device) in pcibios_release_device()
37 phb->controller_ops.release_device(dev); in pcibios_release_device()
81 struct pci_controller *phb; in pcibios_add_pci_devices() local
86 phb = pci_bus_to_host(bus); in pcibios_add_pci_devices()
89 if (phb->controller_ops.probe_mode) in pcibios_add_pci_devices()
90 mode = phb->controller_ops.probe_mode(bus); in pcibios_add_pci_devices()
Dio-workarounds.c36 struct pci_controller *phb = bus->phb; in iowa_pci_find() local
39 vstart = (unsigned long)phb->io_base_virt; in iowa_pci_find()
40 vend = vstart + phb->pci_io_size - 1; in iowa_pci_find()
47 res = &phb->mem_resources[j]; in iowa_pci_find()
185 void iowa_register_bus(struct pci_controller *phb, struct ppc_pci_io *ops, in iowa_register_bus() argument
189 struct device_node *np = phb->dn; in iowa_register_bus()
200 bus->phb = phb; in iowa_register_bus()
Dpci_dn.c156 pdn->phb = parent->phb; in add_one_dev_pci_data()
274 struct pci_controller *phb = data; in update_dn_pci_info() local
285 pdn->phb = phb; in update_dn_pci_info()
426 void pci_devs_phb_init_dynamic(struct pci_controller *phb) in pci_devs_phb_init_dynamic() argument
428 struct device_node *dn = phb->dn; in pci_devs_phb_init_dynamic()
432 update_dn_pci_info(dn, phb); in pci_devs_phb_init_dynamic()
437 pdn->phb = phb; in pci_devs_phb_init_dynamic()
438 phb->pci_data = pdn; in pci_devs_phb_init_dynamic()
442 traverse_pci_devices(dn, update_dn_pci_info, phb); in pci_devs_phb_init_dynamic()
456 struct pci_controller *phb, *tmp; in pci_devs_phb_init() local
[all …]
Deeh_pe.c59 static struct eeh_pe *eeh_pe_alloc(struct pci_controller *phb, int type) in eeh_pe_alloc() argument
76 pe->phb = phb; in eeh_pe_alloc()
93 int eeh_phb_pe_create(struct pci_controller *phb) in eeh_phb_pe_create() argument
98 pe = eeh_pe_alloc(phb, EEH_PE_PHB); in eeh_phb_pe_create()
107 pr_debug("EEH: Add PE for PHB#%d\n", phb->global_number); in eeh_phb_pe_create()
120 struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb) in eeh_phb_pe_get() argument
130 if ((pe->type & EEH_PE_PHB) && pe->phb == phb) in eeh_phb_pe_get()
276 struct eeh_pe *root = eeh_phb_pe_get(edev->phb); in eeh_pe_get()
334 __func__, edev->config_addr, edev->phb->global_number); in eeh_add_to_parent_pe()
353 edev->phb->global_number, in eeh_add_to_parent_pe()
[all …]
Dpci-common.c69 struct pci_controller *phb; in pcibios_alloc_controller() local
71 phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL); in pcibios_alloc_controller()
72 if (phb == NULL) in pcibios_alloc_controller()
75 phb->global_number = global_phb_number++; in pcibios_alloc_controller()
76 list_add_tail(&phb->list_node, &hose_list); in pcibios_alloc_controller()
78 phb->dn = dev; in pcibios_alloc_controller()
79 phb->is_dynamic = slab_is_available(); in pcibios_alloc_controller()
87 PHB_SET_NODE(phb, nid); in pcibios_alloc_controller()
90 return phb; in pcibios_alloc_controller()
94 void pcibios_free_controller(struct pci_controller *phb) in pcibios_free_controller() argument
[all …]
Deeh_event.c79 pe->phb->global_number); in eeh_event_handler()
83 pe->phb->global_number, pe->addr); in eeh_event_handler()
186 if (event->pe && event->pe->phb == pe->phb) { in eeh_remove_event()
Deeh.c172 edev->phb->global_number, pdn->busno, in eeh_dump_dev_log()
175 edev->phb->global_number, pdn->busno, in eeh_dump_dev_log()
379 phb_pe = eeh_phb_pe_get(pe->phb); in eeh_phb_check_failure()
382 __func__, pe->phb->global_number); in eeh_phb_check_failure()
408 phb_pe->phb->global_number, eeh_pe_loc_get(phb_pe)); in eeh_phb_check_failure()
568 phb_pe = eeh_phb_pe_get(pe->phb); in eeh_dev_check_failure()
570 pe->phb->global_number, pe->addr); in eeh_dev_check_failure()
674 __func__, function, pe->phb->global_number, in eeh_pci_enable()
871 __func__, pe->phb->global_number, pe->addr); in eeh_reset_pe()
879 __func__, state, pe->phb->global_number, pe->addr, (i + 1)); in eeh_reset_pe()
[all …]
Ddma.c329 struct pci_controller *phb = pci_bus_to_host(pdev->bus); in dma_set_mask() local
330 if (phb->controller_ops.dma_set_mask) in dma_set_mask()
331 return phb->controller_ops.dma_set_mask(pdev, dma_mask); in dma_set_mask()
358 struct pci_controller *phb = pci_bus_to_host(pdev->bus); in dma_get_required_mask() local
359 if (phb->controller_ops.dma_get_required_mask) in dma_get_required_mask()
360 return phb->controller_ops.dma_get_required_mask(pdev); in dma_get_required_mask()
Dpci_64.c242 hose = PCI_DN(hose_node)->phb; in sys_pciconfig_iobase()
263 struct pci_controller *phb = pci_bus_to_host(bus); in pcibus_to_node() local
264 return phb->node; in pcibus_to_node()
Dpci_of_scan.c209 struct pci_controller *phb; in of_scan_pci_bridge() local
289 phb = pci_bus_to_host(bus); in of_scan_pci_bridge()
292 if (phb->controller_ops.probe_mode) in of_scan_pci_bridge()
293 mode = phb->controller_ops.probe_mode(bus); in of_scan_pci_bridge()
Deeh_driver.c497 __func__, rc, pe->phb->global_number, pe->addr); in __eeh_clear_pe_frozen_state()
665 __func__, pe->phb->global_number, pe->addr); in eeh_handle_normal_event()
802 pe->phb->global_number, pe->addr, in eeh_handle_normal_event()
809 pe->phb->global_number, pe->addr); in eeh_handle_normal_event()
/linux-4.4.14/arch/powerpc/sysdev/
Dmv64x60_pci.c32 struct pci_dev *phb; in mv64x60_hs_reg_read() local
40 phb = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); in mv64x60_hs_reg_read()
41 if (!phb) in mv64x60_hs_reg_read()
43 pci_read_config_dword(phb, MV64X60_PCICFG_CPCI_HOTSWAP, &v); in mv64x60_hs_reg_read()
44 pci_dev_put(phb); in mv64x60_hs_reg_read()
53 struct pci_dev *phb; in mv64x60_hs_reg_write() local
64 phb = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); in mv64x60_hs_reg_write()
65 if (!phb) in mv64x60_hs_reg_write()
67 pci_write_config_dword(phb, MV64X60_PCICFG_CPCI_HOTSWAP, v); in mv64x60_hs_reg_write()
68 pci_dev_put(phb); in mv64x60_hs_reg_write()
Dmpic_u3msi.c185 struct pci_controller *phb; in mpic_u3msi_init() local
198 list_for_each_entry(phb, &hose_list, list_node) { in mpic_u3msi_init()
199 WARN_ON(phb->controller_ops.setup_msi_irqs); in mpic_u3msi_init()
200 phb->controller_ops.setup_msi_irqs = u3msi_setup_msi_irqs; in mpic_u3msi_init()
201 phb->controller_ops.teardown_msi_irqs = u3msi_teardown_msi_irqs; in mpic_u3msi_init()
Dppc4xx_hsta_msi.c132 struct pci_controller *phb; in hsta_msi_probe() local
176 list_for_each_entry(phb, &hose_list, list_node) { in hsta_msi_probe()
177 phb->controller_ops.setup_msi_irqs = hsta_setup_msi_irqs; in hsta_msi_probe()
178 phb->controller_ops.teardown_msi_irqs = hsta_teardown_msi_irqs; in hsta_msi_probe()
Dppc4xx_msi.c222 struct pci_controller *phb; in ppc4xx_msi_probe() local
255 list_for_each_entry(phb, &hose_list, list_node) { in ppc4xx_msi_probe()
256 phb->controller_ops.setup_msi_irqs = ppc4xx_setup_msi_irqs; in ppc4xx_msi_probe()
257 phb->controller_ops.teardown_msi_irqs = ppc4xx_teardown_msi_irqs; in ppc4xx_msi_probe()
Dfsl_msi.c409 struct pci_controller *phb; in fsl_of_msi_probe() local
551 list_for_each_entry(phb, &hose_list, list_node) { in fsl_of_msi_probe()
552 if (!phb->controller_ops.setup_msi_irqs) { in fsl_of_msi_probe()
553 phb->controller_ops.setup_msi_irqs = fsl_setup_msi_irqs; in fsl_of_msi_probe()
554 phb->controller_ops.teardown_msi_irqs = fsl_teardown_msi_irqs; in fsl_of_msi_probe()
555 } else if (phb->controller_ops.setup_msi_irqs != fsl_setup_msi_irqs) { in fsl_of_msi_probe()
Dfsl_pci.h121 extern void fsl_pcibios_fixup_phb(struct pci_controller *phb);
Dfsl_pci.c1251 void fsl_pcibios_fixup_phb(struct pci_controller *phb) in fsl_pcibios_fixup_phb() argument
1254 fsl_pci_pme_probe(phb); in fsl_pcibios_fixup_phb()
/linux-4.4.14/drivers/pci/hotplug/
Drpadlpar_core.c146 struct pci_controller *phb = pdn->phb; in dlpar_pci_add_bus() local
152 dev = of_create_pci_dev(dn, phb->bus, pdn->devfn); in dlpar_pci_add_bus()
171 pcibios_finish_adding_to_bus(phb->bus); in dlpar_pci_add_bus()
177 struct pci_controller *phb; in dlpar_add_pci_slot() local
186 phb = PCI_DN(dn)->phb; in dlpar_add_pci_slot()
187 dev = dlpar_find_new_dev(phb->bus, dn); in dlpar_add_pci_slot()
228 BUG_ON(!pdn || !pdn->phb); in dlpar_remove_phb()
229 rc = remove_phb_dynamic(pdn->phb); in dlpar_remove_phb()
233 pdn->phb = NULL; in dlpar_remove_phb()
240 struct pci_controller *phb; in dlpar_add_phb() local
[all …]
/linux-4.4.14/arch/powerpc/platforms/pasemi/
Dmsi.c146 struct pci_controller *phb; in mpic_pasemi_msi_init() local
164 list_for_each_entry(phb, &hose_list, list_node) { in mpic_pasemi_msi_init()
165 WARN_ON(phb->controller_ops.setup_msi_irqs); in mpic_pasemi_msi_init()
166 phb->controller_ops.setup_msi_irqs = pasemi_msi_setup_msi_irqs; in mpic_pasemi_msi_init()
167 phb->controller_ops.teardown_msi_irqs = pasemi_msi_teardown_msi_irqs; in mpic_pasemi_msi_init()
/linux-4.4.14/arch/powerpc/platforms/cell/
Dspider-pci.c82 static int __init spiderpci_pci_setup_chip(struct pci_controller *phb, in spiderpci_pci_setup_chip() argument
112 dummy_page_da = dma_map_single(phb->parent, dummy_page_va, in spiderpci_pci_setup_chip()
114 if (dma_mapping_error(phb->parent, dummy_page_da)) { in spiderpci_pci_setup_chip()
129 struct device_node *np = bus->phb->dn; in spiderpci_iowa_init()
156 if (spiderpci_pci_setup_chip(bus->phb, regs)) in spiderpci_iowa_init()
Dsetup.c121 static int cell_setup_phb(struct pci_controller *phb) in cell_setup_phb() argument
126 int rc = rtas_setup_phb(phb); in cell_setup_phb()
130 phb->controller_ops = cell_pci_controller_ops; in cell_setup_phb()
132 np = phb->dn; in cell_setup_phb()
141 iowa_register_bus(phb, &spiderpci_ops, &spiderpci_iowa_init, in cell_setup_phb()
/linux-4.4.14/arch/powerpc/platforms/amigaone/
Dsetup.c74 int phb = -ENODEV; in amigaone_setup_arch() local
78 phb = amigaone_add_bridge(np); in amigaone_setup_arch()
80 BUG_ON(phb != 0); in amigaone_setup_arch()
/linux-4.4.14/arch/powerpc/include/asm/
Deeh.h91 struct pci_controller *phb; /* Associated PHB */ member
141 struct pci_controller *phb; /* Associated PHB */ member
258 int eeh_phb_pe_create(struct pci_controller *phb);
259 struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb);
273 void eeh_dev_phb_init_dynamic(struct pci_controller *phb);
330 static inline void eeh_dev_phb_init_dynamic(struct pci_controller *phb) { } in eeh_dev_phb_init_dynamic() argument
Dppc-pci.h44 extern void pci_devs_phb_init_dynamic(struct pci_controller *phb);
49 extern int rtas_setup_phb(struct pci_controller *phb);
Dio-workarounds.h29 struct pci_controller *phb; member
Dpci-bridge.h202 struct pci_controller *phb; /* for pci devices */ member
297 extern void pcibios_free_controller(struct pci_controller *phb);
Dpci.h124 extern int remove_phb_dynamic(struct pci_controller *phb);
/linux-4.4.14/arch/microblaze/pci/
Dpci-common.c55 struct pci_controller *phb; in pcibios_alloc_controller() local
57 phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL); in pcibios_alloc_controller()
58 if (!phb) in pcibios_alloc_controller()
61 phb->global_number = global_phb_number++; in pcibios_alloc_controller()
62 list_add_tail(&phb->list_node, &hose_list); in pcibios_alloc_controller()
64 phb->dn = dev; in pcibios_alloc_controller()
65 phb->is_dynamic = mem_init_done; in pcibios_alloc_controller()
66 return phb; in pcibios_alloc_controller()
69 void pcibios_free_controller(struct pci_controller *phb) in pcibios_free_controller() argument
72 list_del(&phb->list_node); in pcibios_free_controller()
[all …]
/linux-4.4.14/arch/microblaze/include/asm/
Dpci-bridge.h141 extern void pcibios_free_controller(struct pci_controller *phb);
/linux-4.4.14/arch/x86/kernel/
Dpci-calgary_64.c1087 int rioidx, phb, bus; in calgary_locate_bbars() local
1106 for (phb = 0; phb < PHBS_PER_CALGARY; phb++) { in calgary_locate_bbars()
1107 offset = phb_debug_offsets[phb] | PHB_DEBUG_STUFF_OFFSET; in calgary_locate_bbars()
1118 bus_info[bus].phbid = phb; in calgary_locate_bbars()
1122 bus_info[start_bus].phbid = phb; in calgary_locate_bbars()