Message ID | 20190301085559.18736-1-andrew.smirnov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | PCI: imx6: Don't request "pci_aux" clock on i.MX7 | expand |
On Fri, Mar 01, 2019 at 12:55:59AM -0800, Andrey Smirnov wrote: > The clock in question is not present on i.MX7, so move the code > requesting it into i.MX8MQ-only path. > > Fixes: eeb61c4e8530 ("PCI: imx6: Add code to request/control > "pcie_aux" clock for i.MX8MQ") > Reported-by: Trent Piepho <tpiepho@impinj.com> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > Cc: Bjorn Helgaas <bhelgaas@google.com> > Cc: Chris Healy <cphealy@gmail.com> > Cc: Lucas Stach <l.stach@pengutronix.de> > Cc: Trent Piepho <tpiepho@impinj.com> > Cc: linux-imx@nxp.com > Cc: linux-kernel@vger.kernel.org > Cc: linux-pci@vger.kernel.org > --- > drivers/pci/controller/dwc/pci-imx6.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) I have squashed this patch in the commit it fixes, pci/dwc branch, please have a look. Thanks, Lorenzo > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index 08f1ee050c73..5fe364a9959d 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -1100,8 +1100,14 @@ static int imx6_pcie_probe(struct platform_device *pdev) > return PTR_ERR(imx6_pcie->pcie_inbound_axi); > } > break; > - case IMX7D: > case IMX8MQ: > + imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux"); > + if (IS_ERR(imx6_pcie->pcie_aux)) { > + dev_err(dev, "pcie_aux clock source missing or invalid\n"); > + return PTR_ERR(imx6_pcie->pcie_aux); > + } > + /* fall through */ > + case IMX7D: > if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) > imx6_pcie->controller_id = 1; > > @@ -1118,12 +1124,6 @@ static int imx6_pcie_probe(struct platform_device *pdev) > dev_err(dev, "Failed to get PCIE APPS reset control\n"); > return PTR_ERR(imx6_pcie->apps_reset); > } > - > - imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux"); > - if (IS_ERR(imx6_pcie->pcie_aux)) { > - dev_err(dev, "pcie_aux clock source missing or invalid\n"); > - return PTR_ERR(imx6_pcie->pcie_aux); > - } > break; > default: > break; > -- > 2.20.1 >
On Fri, 2019-03-01 at 00:55 -0800, Andrey Smirnov wrote: > The clock in question is not present on i.MX7, so move the code > requesting it into i.MX8MQ-only path. > > Fixes: eeb61c4e8530 ("PCI: imx6: Add code to request/control > "pcie_aux" clock for i.MX8MQ") > Reported-by: Trent Piepho <tpiepho@impinj.com> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > Cc: Bjorn Helgaas <bhelgaas@google.com> > Cc: Chris Healy <cphealy@gmail.com> > Cc: Lucas Stach <l.stach@pengutronix.de> > Cc: Trent Piepho <tpiepho@impinj.com> > Cc: linux-imx@nxp.com > Cc: linux-kernel@vger.kernel.org > Cc: linux-pci@vger.kernel.org Tested on linux-next, imx7d PCI-e appears to be working fine now. It's too bad git diff can't report the case label(s) code falls under the same way it can (usually) get the function name. I saw the original commit when it was posted and didn't notice anything myself either.
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 08f1ee050c73..5fe364a9959d 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -1100,8 +1100,14 @@ static int imx6_pcie_probe(struct platform_device *pdev) return PTR_ERR(imx6_pcie->pcie_inbound_axi); } break; - case IMX7D: case IMX8MQ: + imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux"); + if (IS_ERR(imx6_pcie->pcie_aux)) { + dev_err(dev, "pcie_aux clock source missing or invalid\n"); + return PTR_ERR(imx6_pcie->pcie_aux); + } + /* fall through */ + case IMX7D: if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) imx6_pcie->controller_id = 1; @@ -1118,12 +1124,6 @@ static int imx6_pcie_probe(struct platform_device *pdev) dev_err(dev, "Failed to get PCIE APPS reset control\n"); return PTR_ERR(imx6_pcie->apps_reset); } - - imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux"); - if (IS_ERR(imx6_pcie->pcie_aux)) { - dev_err(dev, "pcie_aux clock source missing or invalid\n"); - return PTR_ERR(imx6_pcie->pcie_aux); - } break; default: break;
The clock in question is not present on i.MX7, so move the code requesting it into i.MX8MQ-only path. Fixes: eeb61c4e8530 ("PCI: imx6: Add code to request/control "pcie_aux" clock for i.MX8MQ") Reported-by: Trent Piepho <tpiepho@impinj.com> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Trent Piepho <tpiepho@impinj.com> Cc: linux-imx@nxp.com Cc: linux-kernel@vger.kernel.org Cc: linux-pci@vger.kernel.org --- drivers/pci/controller/dwc/pci-imx6.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)