diff options
author | Ramneek Mehresh <ramneek.mehresh@freescale.com> | 2014-12-05 07:32:23 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:41:52 (GMT) |
commit | 4b3b4d84f68122d948c9590caadc0aefa4e36339 (patch) | |
tree | e4ce5900755f88f782deaff71fa36fdcc2aca84d /drivers/usb/host | |
parent | 2efd65d4645ef265bc7748f684ae677f7edd916b (diff) | |
download | linux-fsl-qoriq-4b3b4d84f68122d948c9590caadc0aefa4e36339.tar.xz |
drivers:usb: Fix usb suspend/resume for deep-sleep
Save usb controller and phy registers for deep-sleep
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Change-Id: I58696ab15c629a7712adcba67df9b8fd582a1c6e
Reviewed-on: http://git.am.freescale.net:8181/25418
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Suresh Gupta <suresh.gupta@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ehci-fsl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c index 2f319db..07bdd3a 100644 --- a/drivers/usb/host/ehci-fsl.c +++ b/drivers/usb/host/ehci-fsl.c @@ -729,6 +729,9 @@ static int ehci_fsl_drv_suspend(struct device *dev) struct usb_hcd *hcd = dev_get_drvdata(dev); struct ehci_fsl *ehci_fsl = hcd_to_ehci_fsl(hcd); void __iomem *non_ehci = hcd->regs; + + ehci_fsl_save_context(hcd); + #if defined(CONFIG_FSL_USB2_OTG) || defined(CONFIG_FSL_USB2_OTG_MODULE) struct usb_bus host = hcd->self; #endif @@ -759,8 +762,6 @@ static int ehci_fsl_drv_suspend(struct device *dev) if (!fsl_deep_sleep()) return 0; - ehci_fsl_save_context(hcd); - ehci_fsl->usb_ctrl = ioread32be(non_ehci + FSL_SOC_USB_CTRL); return 0; } @@ -772,8 +773,7 @@ static int ehci_fsl_drv_resume(struct device *dev) struct ehci_hcd *ehci = hcd_to_ehci(hcd); void __iomem *non_ehci = hcd->regs; - if (fsl_deep_sleep()) - ehci_fsl_restore_context(hcd); + ehci_fsl_restore_context(hcd); #if defined(CONFIG_FSL_USB2_OTG) || defined(CONFIG_FSL_USB2_OTG_MODULE) struct usb_bus host = hcd->self; |