linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] PCI: layerscape: add function pointer for exit_from_l2()
@ 2023-09-15 18:43 Frank Li
  2023-09-15 18:43 ` [PATCH 2/3] PCI: layerscape: add suspend/resume for ls1021a Frank Li
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Frank Li @ 2023-09-15 18:43 UTC (permalink / raw)
  To: Minghuan Lian, Mingkai Hu, Roy Zang, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	open list:PCI DRIVER FOR FREESCALE LAYERSCAPE,
	open list:PCI DRIVER FOR FREESCALE LAYERSCAPE,
	moderated list:PCI DRIVER FOR FREESCALE LAYERSCAPE, open list
  Cc: imx

Difference layerscape chip have not difference exit_from_l2() method.
Using function pointer for ls1028. It prepare for other layerscape
suspend/resume support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 drivers/pci/controller/dwc/pci-layerscape.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/controller/dwc/pci-layerscape.c b/drivers/pci/controller/dwc/pci-layerscape.c
index b931d597656f6..20c48c06e2248 100644
--- a/drivers/pci/controller/dwc/pci-layerscape.c
+++ b/drivers/pci/controller/dwc/pci-layerscape.c
@@ -39,6 +39,8 @@
 
 struct ls_pcie_drvdata {
 	const u32 pf_off;
+	const struct dw_pcie_host_ops *ops;
+	void (*exit_from_l2)(struct dw_pcie_rp *pp);
 	bool pm_support;
 };
 
@@ -180,6 +182,7 @@ static const struct ls_pcie_drvdata ls1021a_drvdata = {
 static const struct ls_pcie_drvdata layerscape_drvdata = {
 	.pf_off = 0xc0000,
 	.pm_support = true,
+	.exit_from_l2 = ls_pcie_exit_from_l2,
 };
 
 static const struct of_device_id ls_pcie_of_match[] = {
@@ -213,7 +216,7 @@ static int ls_pcie_probe(struct platform_device *pdev)
 	pcie->drvdata = of_device_get_match_data(dev);
 
 	pci->dev = dev;
-	pci->pp.ops = &ls_pcie_host_ops;
+	pci->pp.ops = pcie->drvdata->ops ? pcie->drvdata->ops : &ls_pcie_host_ops;
 
 	pcie->pci = pci;
 
@@ -251,7 +254,7 @@ static int ls_pcie_resume_noirq(struct device *dev)
 	if (!pcie->drvdata->pm_support)
 		return 0;
 
-	ls_pcie_exit_from_l2(&pcie->pci->pp);
+	pcie->drvdata->exit_from_l2(&pcie->pci->pp);
 
 	return dw_pcie_resume_noirq(pcie->pci);
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-10-17  8:17 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-15 18:43 [PATCH 1/3] PCI: layerscape: add function pointer for exit_from_l2() Frank Li
2023-09-15 18:43 ` [PATCH 2/3] PCI: layerscape: add suspend/resume for ls1021a Frank Li
2023-10-04 14:23   ` Frank Li
2023-10-10 14:20     ` Frank Li
2023-10-10 16:02       ` Lorenzo Pieralisi
2023-10-16 14:45         ` Frank Li
2023-10-16 15:22           ` Bjorn Helgaas
2023-10-16 16:11             ` Frank Li
2023-10-16 16:25               ` Bjorn Helgaas
2023-10-16 16:59                 ` Frank Li
2023-10-16 16:25               ` Lorenzo Pieralisi
2023-10-16 16:12             ` Lorenzo Pieralisi
2023-10-16 16:58   ` Manivannan Sadhasivam
2023-10-16 20:18     ` Frank Li
2023-10-17  8:17       ` Manivannan Sadhasivam
2023-09-15 18:43 ` [PATCH 3/3] PCI: layerscape: add suspend/resume for ls1043a Frank Li
2023-10-16 17:07   ` Manivannan Sadhasivam
2023-10-16 16:40 ` [PATCH 1/3] PCI: layerscape: add function pointer for exit_from_l2() Manivannan Sadhasivam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).