Lines Matching defs:pcie

19 #include "pcie-designware.h"
52 static u32 ls_lut_readl(struct ls_pcie_ep *pcie, u32 offset)
54 struct dw_pcie *pci = pcie->pci;
56 if (pcie->big_endian)
62 static void ls_lut_writel(struct ls_pcie_ep *pcie, u32 offset, u32 value)
64 struct dw_pcie *pci = pcie->pci;
66 if (pcie->big_endian)
74 struct ls_pcie_ep *pcie = dev_id;
75 struct dw_pcie *pci = pcie->pci;
79 val = ls_lut_readl(pcie, PEX_PF0_PME_MES_DR);
80 ls_lut_writel(pcie, PEX_PF0_PME_MES_DR, val);
96 dw_pcie_writel_dbi(pci, offset + PCI_EXP_LNKCAP, pcie->lnkcap);
99 cfg = ls_lut_readl(pcie, PEX_PF0_CONFIG);
101 ls_lut_writel(pcie, PEX_PF0_CONFIG, cfg);
115 static int ls_pcie_ep_interrupt_init(struct ls_pcie_ep *pcie,
121 pcie->irq = platform_get_irq_byname(pdev, "pme");
122 if (pcie->irq < 0)
123 return pcie->irq;
125 ret = devm_request_irq(&pdev->dev, pcie->irq, ls_pcie_ep_event_handler,
126 IRQF_SHARED, pdev->name, pcie);
133 val = ls_lut_readl(pcie, PEX_PF0_PME_MES_IER);
136 ls_lut_writel(pcie, PEX_PF0_PME_MES_IER, val);
145 struct ls_pcie_ep *pcie = to_ls_pcie_ep(pci);
147 return pcie->ls_epc;
153 struct ls_pcie_ep *pcie = to_ls_pcie_ep(pci);
164 pcie->ls_epc->msi_capable = ep_func->msi_cap ? true : false;
165 pcie->ls_epc->msix_capable = ep_func->msix_cap ? true : false;
191 struct ls_pcie_ep *pcie = to_ls_pcie_ep(pci);
193 WARN_ON(func_no && !pcie->drvdata->func_offset);
194 return pcie->drvdata->func_offset * func_no;
219 { .compatible = "fsl,ls1028a-pcie-ep", .data = &ls1_ep_drvdata },
220 { .compatible = "fsl,ls1046a-pcie-ep", .data = &ls1_ep_drvdata },
221 { .compatible = "fsl,ls1088a-pcie-ep", .data = &ls2_ep_drvdata },
222 { .compatible = "fsl,ls2088a-pcie-ep", .data = &ls2_ep_drvdata },
223 { .compatible = "fsl,lx2160ar2-pcie-ep", .data = &lx2_ep_drvdata },
231 struct ls_pcie_ep *pcie;
237 pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
238 if (!pcie)
249 pcie->drvdata = of_device_get_match_data(dev);
252 pci->ops = pcie->drvdata->dw_pcie_ops;
257 pcie->pci = pci;
258 pcie->ls_epc = ls_epc;
267 pcie->big_endian = of_property_read_bool(dev->of_node, "big-endian");
269 platform_set_drvdata(pdev, pcie);
272 pcie->lnkcap = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP);
278 return ls_pcie_ep_interrupt_init(pcie, pdev);
283 .name = "layerscape-pcie-ep",