PCI: imx6: Call host init function directly in resume
authorRichard Zhu <hongxing.zhu@nxp.com>
Thu, 14 Jul 2022 07:31:01 +0000 (15:31 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 1 Aug 2022 20:33:39 +0000 (15:33 -0500)
Call imx6_pcie_host_init() instead of duplicating codes in resume.  Note
that this also means we do MPLL setup again during resume, which we didn't
do before.

[bhelgaas: add MPLL setup note, pointed out by Lucas]
Link: https://lore.kernel.org/r/1657783869-19194-10-git-send-email-hongxing.zhu@nxp.com
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
drivers/pci/controller/dwc/pci-imx6.c

index f215753..20bee1a 100644 (file)
@@ -1033,9 +1033,9 @@ static int imx6_pcie_resume_noirq(struct device *dev)
        if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_SUPPORTS_SUSPEND))
                return 0;
 
-       imx6_pcie_assert_core_reset(imx6_pcie);
-       imx6_pcie_init_phy(imx6_pcie);
-       imx6_pcie_deassert_core_reset(imx6_pcie);
+       ret = imx6_pcie_host_init(pp);
+       if (ret)
+               return ret;
        dw_pcie_setup_rc(pp);
 
        ret = imx6_pcie_start_link(imx6_pcie->pci);