Thread (37 messages) 37 messages, 4 authors, 2024-11-25

RE: [PATCH v6 03/10] PCI: imx6: Fetch dbi2 and iATU base addesses from DT

From: Hongxing Zhu <hongxing.zhu@nxp.com>
Date: 2024-11-18 02:59:38
Also in: imx, linux-devicetree, linux-pci, lkml

-----Original Message-----
From: Manivannan Sadhasivam <redacted>
Sent: 2024年11月15日 14:41
To: Hongxing Zhu <hongxing.zhu@nxp.com>
Cc: l.stach@pengutronix.de; bhelgaas@google.com; lpieralisi@kernel.org;
kw@linux.com; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org;
shawnguo@kernel.org; Frank Li [off-list ref];
s.hauer@pengutronix.de; festevam@gmail.com; imx@lists.linux.dev;
kernel@pengutronix.de; linux-pci@vger.kernel.org;
linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org;
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 03/10] PCI: imx6: Fetch dbi2 and iATU base addesses
from DT

On Fri, Nov 01, 2024 at 03:06:03PM +0800, Richard Zhu wrote:
quoted
Since dbi2 and atu regs are added for i.MX8M PCIes. Fetch the dbi2 and
iATU base addresses from DT directly, and remove the useless codes.
It'd be useful to mention where the base addresses were extraced. Like by
the DWC common driver.
You're right. How about change them to the below one?
The dw_pcie_get_resources() function of DWC core codes can fetch the dbi2 and
 iATU base addresses from DT directly, and remove the useless codes here.
quoted
Upsteam dts's have not enabled EP function. So no function broken for
old upsteam's dtb.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Manivannan Sadhasivam
[off-list ref]

- Mani
quoted
---
 drivers/pci/controller/dwc/pci-imx6.c | 20 --------------------
 1 file changed, 20 deletions(-)
diff --git a/drivers/pci/controller/dwc/pci-imx6.c
b/drivers/pci/controller/dwc/pci-imx6.c
index bc8567677a67..462decd1d589 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1115,7 +1115,6 @@ static int imx_add_pcie_ep(struct imx_pcie
*imx_pcie,
quoted
 			   struct platform_device *pdev)
 {
 	int ret;
-	unsigned int pcie_dbi2_offset;
 	struct dw_pcie_ep *ep;
 	struct dw_pcie *pci = imx_pcie->pci;
 	struct dw_pcie_rp *pp = &pci->pp;
@@ -1125,25 +1124,6 @@ static int imx_add_pcie_ep(struct imx_pcie
*imx_pcie,
quoted
 	ep = &pci->ep;
 	ep->ops = &pcie_ep_ops;

-	switch (imx_pcie->drvdata->variant) {
-	case IMX8MQ_EP:
-	case IMX8MM_EP:
-	case IMX8MP_EP:
-		pcie_dbi2_offset = SZ_1M;
-		break;
-	default:
-		pcie_dbi2_offset = SZ_4K;
-		break;
-	}
-
-	pci->dbi_base2 = pci->dbi_base + pcie_dbi2_offset;
-
-	/*
-	 * FIXME: Ideally, dbi2 base address should come from DT. But since only
IMX95 is defining
quoted
-	 * "dbi2" in DT, "dbi_base2" is set to NULL here for that platform alone
so that the DWC
quoted
-	 * core code can fetch that from DT. But once all platform DTs were fixed,
this and the
quoted
-	 * above "dbi_base2" setting should be removed.
-	 */
 	if (device_property_match_string(dev, "reg-names", "dbi2") >= 0)
 		pci->dbi_base2 = NULL;
The check and the NULL assignment of "pci->dbi_base2" should be removed too
 refer to FIXME listed above. Would updated in v7 later, Sorry about that.

Best Regards
Richard Zhu
quoted
--
2.37.1
--
மணிவண்ணன் சதாசிவம்
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help