OSDN Git Service

msm: pcie: switch GPIO to sleep state before asserting PERST
authorTony Truong <truong@codeaurora.org>
Sat, 29 Apr 2017 01:17:04 +0000 (18:17 -0700)
committerTony Truong <truong@codeaurora.org>
Tue, 2 May 2017 00:14:09 +0000 (17:14 -0700)
Before asserting PERST, PCIe bus driver should switch GPIO to
sleep state. This will prevent host from missing any events after
the link is off.

Change-Id: Ie57d339da02dde6cbb3c41d2be52ee0602227193
Signed-off-by: Tony Truong <truong@codeaurora.org>
drivers/pci/host/pci-msm.c

index 9dc678c..93caf75 100644 (file)
@@ -6742,12 +6742,12 @@ static int msm_pcie_pm_suspend(struct pci_dev *dev,
                PCIE_DBG(pcie_dev, "RC%d: PM_Enter_L23 is NOT received\n",
                        pcie_dev->rc_idx);
 
-               msm_pcie_disable(pcie_dev, PM_PIPE_CLK | PM_CLK | PM_VREG);
-
        if (pcie_dev->use_pinctrl && pcie_dev->pins_sleep)
                pinctrl_select_state(pcie_dev->pinctrl,
                                        pcie_dev->pins_sleep);
 
+       msm_pcie_disable(pcie_dev, PM_PIPE_CLK | PM_CLK | PM_VREG);
+
        PCIE_DBG(pcie_dev, "RC%d: exit\n", pcie_dev->rc_idx);
 
        return ret;