Lines Matching refs:pcie

150 	struct mvebu_pcie *pcie;  member
364 dev_err(&port->pcie->pdev->dev, in mvebu_pcie_add_windows()
401 dev_WARN(&port->pcie->pdev->dev, in mvebu_pcie_handle_iobase_change()
415 port->iowin_base = port->pcie->io.start + iobase; in mvebu_pcie_handle_iobase_change()
758 static struct mvebu_pcie_port *mvebu_pcie_find_port(struct mvebu_pcie *pcie, in mvebu_pcie_find_port() argument
764 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_find_port()
765 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_find_port()
782 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata); in mvebu_pcie_wr_conf() local
786 port = mvebu_pcie_find_port(pcie, bus, devfn); in mvebu_pcie_wr_conf()
808 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata); in mvebu_pcie_rd_conf() local
812 port = mvebu_pcie_find_port(pcie, bus, devfn); in mvebu_pcie_rd_conf()
841 struct mvebu_pcie *pcie = sys_to_pcie(sys); in mvebu_pcie_setup() local
844 pcie->mem.name = "PCI MEM"; in mvebu_pcie_setup()
845 pcie->realio.name = "PCI I/O"; in mvebu_pcie_setup()
847 if (request_resource(&iomem_resource, &pcie->mem)) in mvebu_pcie_setup()
850 if (resource_size(&pcie->realio) != 0) { in mvebu_pcie_setup()
851 if (request_resource(&ioport_resource, &pcie->realio)) { in mvebu_pcie_setup()
852 release_resource(&pcie->mem); in mvebu_pcie_setup()
855 pci_add_resource_offset(&sys->resources, &pcie->realio, in mvebu_pcie_setup()
858 pci_add_resource_offset(&sys->resources, &pcie->mem, sys->mem_offset); in mvebu_pcie_setup()
859 pci_add_resource(&sys->resources, &pcie->busn); in mvebu_pcie_setup()
861 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_setup()
862 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_setup()
902 static void mvebu_pcie_enable(struct mvebu_pcie *pcie) in mvebu_pcie_enable() argument
909 hw.msi_ctrl = pcie->msi; in mvebu_pcie_enable()
913 hw.private_data = (void **)&pcie; in mvebu_pcie_enable()
919 pci_common_init_dev(&pcie->pdev->dev, &hw); in mvebu_pcie_enable()
990 static void mvebu_pcie_msi_enable(struct mvebu_pcie *pcie) in mvebu_pcie_msi_enable() argument
994 msi_node = of_parse_phandle(pcie->pdev->dev.of_node, in mvebu_pcie_msi_enable()
999 pcie->msi = of_pci_find_msi_chip_by_node(msi_node); in mvebu_pcie_msi_enable()
1002 if (pcie->msi) in mvebu_pcie_msi_enable()
1003 pcie->msi->dev = &pcie->pdev->dev; in mvebu_pcie_msi_enable()
1008 struct mvebu_pcie *pcie; in mvebu_pcie_suspend() local
1011 pcie = dev_get_drvdata(dev); in mvebu_pcie_suspend()
1012 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_suspend()
1013 struct mvebu_pcie_port *port = pcie->ports + i; in mvebu_pcie_suspend()
1022 struct mvebu_pcie *pcie; in mvebu_pcie_resume() local
1025 pcie = dev_get_drvdata(dev); in mvebu_pcie_resume()
1026 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_resume()
1027 struct mvebu_pcie_port *port = pcie->ports + i; in mvebu_pcie_resume()
1042 static int mvebu_pcie_parse_port(struct mvebu_pcie *pcie, in mvebu_pcie_parse_port() argument
1045 struct device *dev = &pcie->pdev->dev; in mvebu_pcie_parse_port()
1049 port->pcie = pcie; in mvebu_pcie_parse_port()
1079 if (resource_size(&pcie->io) != 0) { in mvebu_pcie_parse_port()
1192 struct mvebu_pcie *pcie; in mvebu_pcie_probe() local
1197 pcie = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_pcie), in mvebu_pcie_probe()
1199 if (!pcie) in mvebu_pcie_probe()
1202 pcie->pdev = pdev; in mvebu_pcie_probe()
1203 platform_set_drvdata(pdev, pcie); in mvebu_pcie_probe()
1206 mvebu_mbus_get_pcie_mem_aperture(&pcie->mem); in mvebu_pcie_probe()
1207 if (resource_size(&pcie->mem) == 0) { in mvebu_pcie_probe()
1212 mvebu_mbus_get_pcie_io_aperture(&pcie->io); in mvebu_pcie_probe()
1214 if (resource_size(&pcie->io) != 0) { in mvebu_pcie_probe()
1215 pcie->realio.flags = pcie->io.flags; in mvebu_pcie_probe()
1216 pcie->realio.start = PCIBIOS_MIN_IO; in mvebu_pcie_probe()
1217 pcie->realio.end = min_t(resource_size_t, in mvebu_pcie_probe()
1219 resource_size(&pcie->io)); in mvebu_pcie_probe()
1221 pcie->realio = pcie->io; in mvebu_pcie_probe()
1224 ret = of_pci_parse_bus_range(np, &pcie->busn); in mvebu_pcie_probe()
1233 pcie->ports = devm_kcalloc(&pdev->dev, num, sizeof(*pcie->ports), in mvebu_pcie_probe()
1235 if (!pcie->ports) in mvebu_pcie_probe()
1240 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_probe()
1242 ret = mvebu_pcie_parse_port(pcie, port, child); in mvebu_pcie_probe()
1253 pcie->nports = i; in mvebu_pcie_probe()
1255 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_probe()
1256 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_probe()
1279 pcie->nports = i; in mvebu_pcie_probe()
1282 pci_ioremap_io(i, pcie->io.start + i); in mvebu_pcie_probe()
1284 mvebu_pcie_msi_enable(pcie); in mvebu_pcie_probe()
1285 mvebu_pcie_enable(pcie); in mvebu_pcie_probe()
1287 platform_set_drvdata(pdev, pcie); in mvebu_pcie_probe()