Message ID | 20241101070610.1267391-5-hongxing.zhu@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | A bunch of changes to refine i.MX PCIe driver | expand |
On Fri, Nov 01, 2024 at 03:06:04PM +0800, Richard Zhu wrote: > i.MX7D only has one PCIe controller, so controller_id should always be 0. > The previous code is incorrect although yielding the correct result. Fix by > removing IMX7D from the switch case branch. > Worth adding a fixes tag? > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > "This is just *wrong*. You cannot hardcode the MMIO address in the driver. > Even though this code is old, you should fix it instead of building on top > of it. > > - Mani" > > IMX7D here is wrong athough check IMX8MQ_PCIE2_BASE_ADDR is not good > method. Previously try to use 'linux,pci-domain' to replace this check > logic. Need more discussion to improve it and keep old compatiblity. > Let's fix this code error firstly. I really hope that you'll fix it asap. - Mani > --- > drivers/pci/controller/dwc/pci-imx6.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index 462decd1d589..996333e9017d 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -1342,7 +1342,6 @@ static int imx_pcie_probe(struct platform_device *pdev) > switch (imx_pcie->drvdata->variant) { > case IMX8MQ: > case IMX8MQ_EP: > - case IMX7D: > if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) > imx_pcie->controller_id = 1; > break; > -- > 2.37.1 >
> -----Original Message----- > From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Sent: 2024年11月15日 14:43 > 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 <frank.li@nxp.com>; > 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 04/10] PCI: imx6: Correct controller_id generation > logic for i.MX7D > > On Fri, Nov 01, 2024 at 03:06:04PM +0800, Richard Zhu wrote: > > i.MX7D only has one PCIe controller, so controller_id should always be 0. > > The previous code is incorrect although yielding the correct result. > > Fix by removing IMX7D from the switch case branch. > > > > Worth adding a fixes tag? > It's originated from commit 2d8ed461dbc9 ("PCI: imx6: Add support for i.MX8MQ") How about to add one Fixes tag like this? Fixes: commit 2d8ed461dbc9 ("PCI: imx6: Add support for i.MX8MQ") > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > > Reviewed-by: Manivannan Sadhasivam > <manivannan.sadhasivam@linaro.org> > > > Reviewed-by: Frank Li <Frank.Li@nxp.com> > > --- > > "This is just *wrong*. You cannot hardcode the MMIO address in the driver. > > Even though this code is old, you should fix it instead of building on > > top of it. > > > > - Mani" > > > > IMX7D here is wrong athough check IMX8MQ_PCIE2_BASE_ADDR is not > good > > method. Previously try to use 'linux,pci-domain' to replace this check > > logic. Need more discussion to improve it and keep old compatiblity. > > Let's fix this code error firstly. > > I really hope that you'll fix it asap. Got that. Best Regards Richard Zhu > > - Mani > > > --- > > drivers/pci/controller/dwc/pci-imx6.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c > > b/drivers/pci/controller/dwc/pci-imx6.c > > index 462decd1d589..996333e9017d 100644 > > --- a/drivers/pci/controller/dwc/pci-imx6.c > > +++ b/drivers/pci/controller/dwc/pci-imx6.c > > @@ -1342,7 +1342,6 @@ static int imx_pcie_probe(struct platform_device > *pdev) > > switch (imx_pcie->drvdata->variant) { > > case IMX8MQ: > > case IMX8MQ_EP: > > - case IMX7D: > > if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) > > imx_pcie->controller_id = 1; > > break; > > -- > > 2.37.1 > > > > -- > மணிவண்ணன் சதாசிவம்
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 462decd1d589..996333e9017d 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -1342,7 +1342,6 @@ static int imx_pcie_probe(struct platform_device *pdev) switch (imx_pcie->drvdata->variant) { case IMX8MQ: case IMX8MQ_EP: - case IMX7D: if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) imx_pcie->controller_id = 1; break;