PCI: imx6: Move the imx6_pcie_ltssm_disable() earlier
authorRichard Zhu <hongxing.zhu@nxp.com>
Thu, 14 Jul 2022 07:31:08 +0000 (15:31 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 1 Aug 2022 20:34:05 +0000 (15:34 -0500)
Move the imx6_pcie_ltssm_disable() earlier and place it just behind the
imx6_pcie_ltssm_enable(), since it might not be only used by suspend
callback directly.

To be symmetric with imx6_pcie_ltssm_enable(), add the IMX6Q and IMX8MQ
switch cases in imx6_pcie_ltssm_disable().

Link: https://lore.kernel.org/r/1657783869-19194-17-git-send-email-hongxing.zhu@nxp.com
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/controller/dwc/pci-imx6.c

index cd15122..1f5347b 100644 (file)
@@ -805,6 +805,25 @@ static void imx6_pcie_ltssm_enable(struct device *dev)
        }
 }
 
+static void imx6_pcie_ltssm_disable(struct device *dev)
+{
+       struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
+
+       switch (imx6_pcie->drvdata->variant) {
+       case IMX6Q:
+       case IMX6SX:
+       case IMX6QP:
+               regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
+                                  IMX6Q_GPR12_PCIE_CTL_2, 0);
+               break;
+       case IMX7D:
+       case IMX8MQ:
+       case IMX8MM:
+               reset_control_assert(imx6_pcie->apps_reset);
+               break;
+       }
+}
+
 static int imx6_pcie_start_link(struct dw_pcie *pci)
 {
        struct imx6_pcie *imx6_pcie = to_imx6_pcie(pci);
@@ -948,25 +967,6 @@ static const struct dw_pcie_ops dw_pcie_ops = {
        .start_link = imx6_pcie_start_link,
 };
 
-static void imx6_pcie_ltssm_disable(struct device *dev)
-{
-       struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
-
-       switch (imx6_pcie->drvdata->variant) {
-       case IMX6SX:
-       case IMX6QP:
-               regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
-                                  IMX6Q_GPR12_PCIE_CTL_2, 0);
-               break;
-       case IMX7D:
-       case IMX8MM:
-               reset_control_assert(imx6_pcie->apps_reset);
-               break;
-       default:
-               dev_err(dev, "ltssm_disable not supported\n");
-       }
-}
-
 static void imx6_pcie_pm_turnoff(struct imx6_pcie *imx6_pcie)
 {
        struct device *dev = imx6_pcie->pci->dev;