Lines Matching refs:pcie
127 struct mvebu_pcie *pcie; member
332 dev_err(&port->pcie->pdev->dev, in mvebu_pcie_add_windows()
369 dev_WARN(&port->pcie->pdev->dev, in mvebu_pcie_handle_iobase_change()
383 port->iowin_base = port->pcie->io.start + iobase; in mvebu_pcie_handle_iobase_change()
616 static struct mvebu_pcie_port *mvebu_pcie_find_port(struct mvebu_pcie *pcie, in mvebu_pcie_find_port() argument
622 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_find_port()
623 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_find_port()
640 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata); in mvebu_pcie_wr_conf() local
644 port = mvebu_pcie_find_port(pcie, bus, devfn); in mvebu_pcie_wr_conf()
677 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata); in mvebu_pcie_rd_conf() local
681 port = mvebu_pcie_find_port(pcie, bus, devfn); in mvebu_pcie_rd_conf()
723 struct mvebu_pcie *pcie = sys_to_pcie(sys); in mvebu_pcie_setup() local
726 pcie->mem.name = "PCI MEM"; in mvebu_pcie_setup()
727 pcie->realio.name = "PCI I/O"; in mvebu_pcie_setup()
729 if (request_resource(&iomem_resource, &pcie->mem)) in mvebu_pcie_setup()
732 if (resource_size(&pcie->realio) != 0) { in mvebu_pcie_setup()
733 if (request_resource(&ioport_resource, &pcie->realio)) { in mvebu_pcie_setup()
734 release_resource(&pcie->mem); in mvebu_pcie_setup()
737 pci_add_resource_offset(&sys->resources, &pcie->realio, in mvebu_pcie_setup()
740 pci_add_resource_offset(&sys->resources, &pcie->mem, sys->mem_offset); in mvebu_pcie_setup()
741 pci_add_resource(&sys->resources, &pcie->busn); in mvebu_pcie_setup()
743 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_setup()
744 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_setup()
756 struct mvebu_pcie *pcie = sys_to_pcie(sys); in mvebu_pcie_scan_bus() local
759 bus = pci_create_root_bus(&pcie->pdev->dev, sys->busnr, in mvebu_pcie_scan_bus()
799 static void mvebu_pcie_enable(struct mvebu_pcie *pcie) in mvebu_pcie_enable() argument
806 hw.msi_ctrl = pcie->msi; in mvebu_pcie_enable()
810 hw.private_data = (void **)&pcie; in mvebu_pcie_enable()
888 static void mvebu_pcie_msi_enable(struct mvebu_pcie *pcie) in mvebu_pcie_msi_enable() argument
892 msi_node = of_parse_phandle(pcie->pdev->dev.of_node, in mvebu_pcie_msi_enable()
897 pcie->msi = of_pci_find_msi_chip_by_node(msi_node); in mvebu_pcie_msi_enable()
899 if (pcie->msi) in mvebu_pcie_msi_enable()
900 pcie->msi->dev = &pcie->pdev->dev; in mvebu_pcie_msi_enable()
905 struct mvebu_pcie *pcie; in mvebu_pcie_suspend() local
908 pcie = dev_get_drvdata(dev); in mvebu_pcie_suspend()
909 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_suspend()
910 struct mvebu_pcie_port *port = pcie->ports + i; in mvebu_pcie_suspend()
919 struct mvebu_pcie *pcie; in mvebu_pcie_resume() local
922 pcie = dev_get_drvdata(dev); in mvebu_pcie_resume()
923 for (i = 0; i < pcie->nports; i++) { in mvebu_pcie_resume()
924 struct mvebu_pcie_port *port = pcie->ports + i; in mvebu_pcie_resume()
934 struct mvebu_pcie *pcie; in mvebu_pcie_probe() local
939 pcie = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_pcie), in mvebu_pcie_probe()
941 if (!pcie) in mvebu_pcie_probe()
944 pcie->pdev = pdev; in mvebu_pcie_probe()
945 platform_set_drvdata(pdev, pcie); in mvebu_pcie_probe()
948 mvebu_mbus_get_pcie_mem_aperture(&pcie->mem); in mvebu_pcie_probe()
949 if (resource_size(&pcie->mem) == 0) { in mvebu_pcie_probe()
954 mvebu_mbus_get_pcie_io_aperture(&pcie->io); in mvebu_pcie_probe()
956 if (resource_size(&pcie->io) != 0) { in mvebu_pcie_probe()
957 pcie->realio.flags = pcie->io.flags; in mvebu_pcie_probe()
958 pcie->realio.start = PCIBIOS_MIN_IO; in mvebu_pcie_probe()
959 pcie->realio.end = min_t(resource_size_t, in mvebu_pcie_probe()
961 resource_size(&pcie->io)); in mvebu_pcie_probe()
963 pcie->realio = pcie->io; in mvebu_pcie_probe()
966 ret = of_pci_parse_bus_range(np, &pcie->busn); in mvebu_pcie_probe()
980 pcie->ports = devm_kzalloc(&pdev->dev, i * in mvebu_pcie_probe()
983 if (!pcie->ports) in mvebu_pcie_probe()
988 struct mvebu_pcie_port *port = &pcie->ports[i]; in mvebu_pcie_probe()
994 port->pcie = pcie; in mvebu_pcie_probe()
1022 if (resource_size(&pcie->io) != 0) in mvebu_pcie_probe()
1081 pcie->nports = i; in mvebu_pcie_probe()
1084 pci_ioremap_io(i, pcie->io.start + i); in mvebu_pcie_probe()
1086 mvebu_pcie_msi_enable(pcie); in mvebu_pcie_probe()
1087 mvebu_pcie_enable(pcie); in mvebu_pcie_probe()
1089 platform_set_drvdata(pdev, pcie); in mvebu_pcie_probe()