Lines Matching defs:host
50 int (*phy_init_fn)(struct rcar_pcie_host *host);
151 static int rcar_pcie_config_access(struct rcar_pcie_host *host,
155 struct rcar_pcie *pcie = &host->pcie;
234 struct rcar_pcie_host *host = bus->sysdata;
237 ret = rcar_pcie_config_access(host, RCAR_PCI_ACCESS_READ,
257 struct rcar_pcie_host *host = bus->sysdata;
262 ret = rcar_pcie_config_access(host, RCAR_PCI_ACCESS_READ,
281 ret = rcar_pcie_config_access(host, RCAR_PCI_ACCESS_WRITE,
346 static void rcar_pcie_hw_enable(struct rcar_pcie_host *host)
348 struct rcar_pcie *pcie = &host->pcie;
349 struct pci_host_bridge *bridge = pci_host_bridge_from_priv(host);
374 static int rcar_pcie_enable(struct rcar_pcie_host *host)
376 struct pci_host_bridge *bridge = pci_host_bridge_from_priv(host);
378 rcar_pcie_hw_enable(host);
382 bridge->sysdata = host;
501 static int rcar_pcie_phy_init_h1(struct rcar_pcie_host *host)
503 struct rcar_pcie *pcie = &host->pcie;
526 static int rcar_pcie_phy_init_gen2(struct rcar_pcie_host *host)
528 struct rcar_pcie *pcie = &host->pcie;
548 static int rcar_pcie_phy_init_gen3(struct rcar_pcie_host *host)
552 err = phy_init(host->phy);
556 err = phy_power_on(host->phy);
558 phy_exit(host->phy);
565 struct rcar_pcie_host *host = data;
566 struct rcar_pcie *pcie = &host->pcie;
567 struct rcar_msi *msi = &host->msi;
760 static int rcar_pcie_enable_msi(struct rcar_pcie_host *host)
762 struct rcar_pcie *pcie = &host->pcie;
764 struct rcar_msi *msi = &host->msi;
782 rcar_msi_bottom_chip.name, host);
790 rcar_msi_bottom_chip.name, host);
813 static void rcar_pcie_teardown_msi(struct rcar_pcie_host *host)
815 struct rcar_pcie *pcie = &host->pcie;
823 rcar_free_domains(&host->msi);
826 static int rcar_pcie_get_resources(struct rcar_pcie_host *host)
828 struct rcar_pcie *pcie = &host->pcie;
833 host->phy = devm_phy_optional_get(dev, "pcie");
834 if (IS_ERR(host->phy))
835 return PTR_ERR(host->phy);
845 host->bus_clk = devm_clk_get(dev, "pcie_bus");
846 if (IS_ERR(host->bus_clk)) {
848 return PTR_ERR(host->bus_clk);
857 host->msi.irq1 = i;
865 host->msi.irq2 = i;
870 irq_dispose_mapping(host->msi.irq1);
925 static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie_host *host)
927 struct pci_host_bridge *bridge = pci_host_bridge_from_priv(host);
932 err = rcar_pcie_inbound_ranges(&host->pcie, entry, &index);
959 struct rcar_pcie_host *host;
965 bridge = devm_pci_alloc_host_bridge(dev, sizeof(*host));
969 host = pci_host_bridge_priv(bridge);
970 pcie = &host->pcie;
972 platform_set_drvdata(pdev, host);
981 err = rcar_pcie_get_resources(host);
987 err = clk_prepare_enable(host->bus_clk);
993 err = rcar_pcie_parse_map_dma_ranges(host);
997 host->phy_init_fn = of_device_get_match_data(dev);
998 err = host->phy_init_fn(host);
1015 err = rcar_pcie_enable_msi(host);
1024 err = rcar_pcie_enable(host);
1032 rcar_pcie_teardown_msi(host);
1035 if (host->phy) {
1036 phy_power_off(host->phy);
1037 phy_exit(host->phy);
1041 clk_disable_unprepare(host->bus_clk);
1044 irq_dispose_mapping(host->msi.irq2);
1045 irq_dispose_mapping(host->msi.irq1);
1056 struct rcar_pcie_host *host = dev_get_drvdata(dev);
1057 struct rcar_pcie *pcie = &host->pcie;
1061 err = rcar_pcie_parse_map_dma_ranges(host);
1066 err = host->phy_init_fn(host);
1084 bitmap_to_arr32(&val, host->msi.used, INT_PCI_MSI_NR);
1088 rcar_pcie_hw_enable(host);
1095 struct rcar_pcie_host *host = dev_get_drvdata(dev);
1096 struct rcar_pcie *pcie = &host->pcie;