summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Zhu <Richard.Zhu@freescale.com>2014-12-18 18:03:02 +0800
committerRichard Zhu <Richard.Zhu@freescale.com>2014-12-22 08:58:31 +0800
commit484ba62c1a37a7738506b59a46df11391b11a6f3 (patch)
tree8fa4eff2f2b3e1482dac4efd6d081422fd13d90e
parentc0d12ce9fd7dbec07ec5f26f2ef830b9c385356f (diff)
MLK-9994 PCI: pcie to usb suspend resume issues on imx6sx
- phenomena: the name of the dev node of the thumb disk inserted in the port of the pcie2usb device, would be changed randomly after suspend resume on imx6sx. - rootcause: PRST shouldn't be triggered during the suspend resume on imx6sx pcie port. Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com> (cherry picked from commit b5ed6b9a8bf5ba7ce4dfe3a3aacdec9634397b6c)
-rw-r--r--drivers/pci/host/pci-imx6.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index 1d88f4201bef..c346fee31f86 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/host/pci-imx6.c
@@ -830,9 +830,7 @@ static int pci_imx_suspend_noirq(struct device *dev)
clk_disable_unprepare(imx6_pcie->lvds_gate);
clk_disable_unprepare(imx6_pcie->pcie_ref_125m);
clk_disable_unprepare(imx6_pcie->dis_axi);
-
- /* Assert per-reset to ep */
- gpio_set_value_cansleep(imx6_pcie->reset_gpio, 0);
+ release_bus_freq(BUS_FREQ_HIGH);
}
}
@@ -888,6 +886,7 @@ static int pci_imx_resume_noirq(struct device *dev)
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6Q_GPR12_PCIE_CTL_2, 1 << 10);
} else {
+ request_bus_freq(BUS_FREQ_HIGH);
clk_prepare_enable(imx6_pcie->dis_axi);
clk_prepare_enable(imx6_pcie->lvds_gate);
clk_prepare_enable(imx6_pcie->pcie_ref_125m);
@@ -909,9 +908,6 @@ static int pci_imx_resume_noirq(struct device *dev)
if (IS_ENABLED(CONFIG_PCI_MSI))
dw_pcie_msi_cfg_restore(pp);
-
- /* De-assert per-reset to ep */
- gpio_set_value_cansleep(imx6_pcie->reset_gpio, 1);
}
}