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] - Maniquoted
--- drivers/pci/controller/dwc/pci-imx6.c | 20 -------------------- 1 file changed, 20 deletions(-)diff --git a/drivers/pci/controller/dwc/pci-imx6.cb/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 onlyIMX95 is definingquoted
- * "dbi2" in DT, "dbi_base2" is set to NULL here for that platform aloneso that the DWCquoted
- * core code can fetch that from DT. But once all platform DTs were fixed,this and thequoted
- * 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-- மணிவண்ணன் சதாசிவம்