diff options
author | Richard Zhu <Richard.Zhu@freescale.com> | 2014-12-18 18:03:02 +0800 |
---|---|---|
committer | Richard Zhu <Richard.Zhu@freescale.com> | 2014-12-22 08:58:31 +0800 |
commit | 484ba62c1a37a7738506b59a46df11391b11a6f3 (patch) | |
tree | 8fa4eff2f2b3e1482dac4efd6d081422fd13d90e /drivers | |
parent | c0d12ce9fd7dbec07ec5f26f2ef830b9c385356f (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)
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/host/pci-imx6.c | 8 |
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); } } |