Lines Matching +full:dma +full:- +full:router

1 // SPDX-License-Identifier: GPL-2.0-or-later
16 #include <asm/pci-bridge.h>
18 #include <asm/ppc-pci.h>
32 const char *loc_code = of_get_property(dn, "ibm,loc-code",
36 if (loc_len < sizeof(dev->dev.name)) {
37 memmove(dev->dev.name+loc_len+1, dev->dev.name,
38 sizeof(dev->dev.name)-loc_len-1);
39 memcpy(dev->dev.name, loc_code, loc_len);
40 dev->dev.name[loc_len] = ' ';
41 dev->dev.name[sizeof(dev->dev.name)-1] = '\0';
53 __be16 rid; /* Input: Virtual Function Router ID */
65 int ibm_map_pes = rtas_token("ibm,open-sriov-map-pe-number"); in pseries_send_map_pe()
68 return -EINVAL; in pseries_send_map_pe()
71 addr = rtas_config_addr(pdn->busno, pdn->devfn, 0); in pseries_send_map_pe()
72 buid = pdn->phb->buid; in pseries_send_map_pe()
84 dev_err(&pdev->dev, in pseries_send_map_pe()
96 pdn->pe_num_map[vf_index] = be16_to_cpu(pe_num); in pseries_set_pe_num()
97 dev_dbg(&pdev->dev, "VF %04x:%02x:%02x.%x associated with PE#%x\n", in pseries_set_pe_num()
98 pci_domain_nr(pdev->bus), in pseries_set_pe_num()
99 pdev->bus->number, in pseries_set_pe_num()
102 pdn->pe_num_map[vf_index]); in pseries_set_pe_num()
115 return -ENOMEM; in pseries_associate_pes()
120 pdn->pe_num_map[vf_index] = IODA_INVALID_PE; in pseries_associate_pes()
122 res = &pdev->resource[i + PCI_IOV_RESOURCES]; in pseries_associate_pes()
123 if (!res->parent) in pseries_associate_pes()
128 cpu_to_be64(res->start + size * vf_index); in pseries_associate_pes()
157 max_vfs = of_get_property(dn, "ibm,number-of-configurable-vfs", NULL); in pseries_pci_sriov_enable()
160 return -EINVAL; in pseries_pci_sriov_enable()
165 dev_err(&pdev->dev, in pseries_pci_sriov_enable()
169 return -EINVAL; in pseries_pci_sriov_enable()
173 pdn->pe_num_map = kmalloc_array(num_vfs, in pseries_pci_sriov_enable()
174 sizeof(*pdn->pe_num_map), in pseries_pci_sriov_enable()
176 if (!pdn->pe_num_map) in pseries_pci_sriov_enable()
177 return -ENOMEM; in pseries_pci_sriov_enable()
183 dev_err(&pdev->dev, "Failure to enable sriov: %x\n", rc); in pseries_pci_sriov_enable()
184 kfree(pdn->pe_num_map); in pseries_pci_sriov_enable()
205 kfree(pdn->pe_num_map); in pseries_pcibios_sriov_disable()
222 request_region(0x80,0x10,"dma page reg"); in pSeries_request_regions()
239 struct device_node *dn = hose->dn, *nvdn; in pSeries_final_fixup()
248 if (!of_device_is_compatible(nvdn, "ibm,npu-link")) in pSeries_final_fixup()
250 if (!of_device_is_compatible(nvdn->parent, in pSeries_final_fixup()
251 "ibm,power9-npu")) in pSeries_final_fixup()
281 if (dev->resource[i].flags & IORESOURCE_IO in fixup_winbond_82c105()
282 && dev->bus->number == 0 && dev->devfn == 0x81) in fixup_winbond_82c105()
283 dev->resource[i].flags &= ~IORESOURCE_IO; in fixup_winbond_82c105()
284 if (dev->resource[i].start == 0 && dev->resource[i].end) { in fixup_winbond_82c105()
285 dev->resource[i].flags = 0; in fixup_winbond_82c105()
286 dev->resource[i].end = 0; in fixup_winbond_82c105()
300 bus = bridge->bus; in pseries_root_bridge_prepare()
312 "ibm,pcie-link-speed-stats", in pseries_root_bridge_prepare()
321 pr_debug("no ibm,pcie-link-speed-stats property\n"); in pseries_root_bridge_prepare()
327 bus->max_bus_speed = PCIE_SPEED_2_5GT; in pseries_root_bridge_prepare()
330 bus->max_bus_speed = PCIE_SPEED_5_0GT; in pseries_root_bridge_prepare()
333 bus->max_bus_speed = PCIE_SPEED_8_0GT; in pseries_root_bridge_prepare()
336 bus->max_bus_speed = PCI_SPEED_UNKNOWN; in pseries_root_bridge_prepare()
342 bus->cur_bus_speed = PCIE_SPEED_2_5GT; in pseries_root_bridge_prepare()
345 bus->cur_bus_speed = PCIE_SPEED_5_0GT; in pseries_root_bridge_prepare()
348 bus->cur_bus_speed = PCIE_SPEED_8_0GT; in pseries_root_bridge_prepare()
351 bus->cur_bus_speed = PCI_SPEED_UNKNOWN; in pseries_root_bridge_prepare()