Lines Matching refs:pcie

23 	struct rcar_pcie	pcie;  member
33 static void rcar_pcie_ep_hw_init(struct rcar_pcie *pcie) in rcar_pcie_ep_hw_init() argument
37 rcar_pci_write_reg(pcie, 0, PCIETCTLR); in rcar_pcie_ep_hw_init()
40 rcar_pci_write_reg(pcie, 0, PCIEMSR); in rcar_pcie_ep_hw_init()
43 rcar_rmw32(pcie, REXPCAP(0), 0xff, PCI_CAP_ID_EXP); in rcar_pcie_ep_hw_init()
44 rcar_rmw32(pcie, REXPCAP(PCI_EXP_FLAGS), in rcar_pcie_ep_hw_init()
46 rcar_rmw32(pcie, RCONF(PCI_HEADER_TYPE), 0x7f, in rcar_pcie_ep_hw_init()
50 rcar_rmw32(pcie, REXPCAP(PCI_EXP_SLTCAP), PCI_EXP_SLTCAP_PSN, 0); in rcar_pcie_ep_hw_init()
52 val = rcar_pci_read_reg(pcie, EXPCAP(1)); in rcar_pcie_ep_hw_init()
55 rcar_pci_write_reg(pcie, val, EXPCAP(1)); in rcar_pcie_ep_hw_init()
57 val = rcar_pci_read_reg(pcie, EXPCAP(2)); in rcar_pcie_ep_hw_init()
62 rcar_pci_write_reg(pcie, val, EXPCAP(2)); in rcar_pcie_ep_hw_init()
65 rcar_rmw32(pcie, EXPCAP(12), PCI_EXP_LNKSTA_CLS, in rcar_pcie_ep_hw_init()
69 rcar_rmw32(pcie, TLCTLR + 1, 0x3f, 50); in rcar_pcie_ep_hw_init()
72 rcar_rmw32(pcie, RVCCAP(0), 0xfff00000, 0); in rcar_pcie_ep_hw_init()
93 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_parse_outbound_ranges() local
105 dev_err(pcie->dev, "missing outbound window %u\n", i); in rcar_pcie_parse_outbound_ranges()
111 dev_err(pcie->dev, "Cannot request memory region %s.\n", in rcar_pcie_parse_outbound_ranges()
131 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_get_pdata() local
133 struct device *dev = pcie->dev; in rcar_pcie_ep_get_pdata()
140 pcie->base = devm_ioremap_resource(dev, &res); in rcar_pcie_ep_get_pdata()
141 if (IS_ERR(pcie->base)) in rcar_pcie_ep_get_pdata()
142 return PTR_ERR(pcie->base); in rcar_pcie_ep_get_pdata()
163 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_write_header() local
169 val = rcar_pci_read_reg(pcie, IDSETR0); in rcar_pcie_ep_write_header()
171 rcar_pci_write_reg(pcie, val, IDSETR0); in rcar_pcie_ep_write_header()
177 rcar_pci_write_reg(pcie, val, IDSETR1); in rcar_pcie_ep_write_header()
182 val = rcar_pci_read_reg(pcie, SUBIDSETR); in rcar_pcie_ep_write_header()
184 rcar_pci_write_reg(pcie, val, SUBIDSETR); in rcar_pcie_ep_write_header()
188 val = rcar_pci_read_reg(pcie, PCICONF(15)); in rcar_pcie_ep_write_header()
190 rcar_pci_write_reg(pcie, val, PCICONF(15)); in rcar_pcie_ep_write_header()
203 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_set_bar() local
210 dev_err(pcie->dev, "no free inbound window\n"); in rcar_pcie_ep_set_bar()
234 rcar_pcie_set_inbound(pcie, cpu_addr, in rcar_pcie_ep_set_bar()
237 err = rcar_pcie_wait_for_phyrdy(pcie); in rcar_pcie_ep_set_bar()
239 dev_err(pcie->dev, "phy not ready\n"); in rcar_pcie_ep_set_bar()
253 rcar_pcie_set_inbound(&ep->pcie, 0x0, 0x0, 0x0, bar, false); in rcar_pcie_ep_clear_bar()
263 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_set_msi() local
266 flags = rcar_pci_read_reg(pcie, MSICAP(fn)); in rcar_pcie_ep_set_msi()
268 rcar_pci_write_reg(pcie, flags, MSICAP(fn)); in rcar_pcie_ep_set_msi()
276 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_get_msi() local
279 flags = rcar_pci_read_reg(pcie, MSICAP(fn)); in rcar_pcie_ep_get_msi()
290 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_map_addr() local
297 err = rcar_pcie_wait_for_dl(pcie); in rcar_pcie_ep_map_addr()
299 dev_err(pcie->dev, "link not up\n"); in rcar_pcie_ep_map_addr()
305 dev_err(pcie->dev, "failed to get corresponding window\n"); in rcar_pcie_ep_map_addr()
316 rcar_pcie_set_outbound(pcie, window, &win); in rcar_pcie_ep_map_addr()
341 rcar_pcie_set_outbound(&ep->pcie, idx, &win); in rcar_pcie_ep_unmap_addr()
349 struct rcar_pcie *pcie = &ep->pcie; in rcar_pcie_ep_assert_intx() local
352 val = rcar_pci_read_reg(pcie, PCIEMSITXR); in rcar_pcie_ep_assert_intx()
354 dev_err(pcie->dev, "MSI is enabled, cannot assert INTx\n"); in rcar_pcie_ep_assert_intx()
358 val = rcar_pci_read_reg(pcie, PCICONF(1)); in rcar_pcie_ep_assert_intx()
360 dev_err(pcie->dev, "INTx message transmission is disabled\n"); in rcar_pcie_ep_assert_intx()
364 val = rcar_pci_read_reg(pcie, PCIEINTXR); in rcar_pcie_ep_assert_intx()
366 dev_err(pcie->dev, "INTx is already asserted\n"); in rcar_pcie_ep_assert_intx()
371 rcar_pci_write_reg(pcie, val, PCIEINTXR); in rcar_pcie_ep_assert_intx()
373 val = rcar_pci_read_reg(pcie, PCIEINTXR); in rcar_pcie_ep_assert_intx()
375 rcar_pci_write_reg(pcie, val, PCIEINTXR); in rcar_pcie_ep_assert_intx()
380 static int rcar_pcie_ep_assert_msi(struct rcar_pcie *pcie, in rcar_pcie_ep_assert_msi() argument
387 val = rcar_pci_read_reg(pcie, MSICAP(fn)); in rcar_pcie_ep_assert_msi()
398 val = rcar_pci_read_reg(pcie, PCIEMSITXR); in rcar_pcie_ep_assert_msi()
399 rcar_pci_write_reg(pcie, val | (interrupt_num - 1), PCIEMSITXR); in rcar_pcie_ep_assert_msi()
415 return rcar_pcie_ep_assert_msi(&ep->pcie, fn, interrupt_num); in rcar_pcie_ep_raise_irq()
426 rcar_pci_write_reg(&ep->pcie, MACCTLR_INIT_VAL, MACCTLR); in rcar_pcie_ep_start()
427 rcar_pci_write_reg(&ep->pcie, CFINIT, PCIETCTLR); in rcar_pcie_ep_start()
436 rcar_pci_write_reg(&ep->pcie, 0, PCIETCTLR); in rcar_pcie_ep_stop()
481 struct rcar_pcie *pcie; in rcar_pcie_ep_probe() local
489 pcie = &ep->pcie; in rcar_pcie_ep_probe()
490 pcie->dev = dev; in rcar_pcie_ep_probe()
534 rcar_pcie_ep_hw_init(pcie); in rcar_pcie_ep_probe()