On Tue, Feb 12, 2013 at 2:16 PM, Felipe Balbi <balbi@xxxxxx> wrote: > Hi folks, > > this patchset implements the bare minimum PM > support for dwc3. We're not even playing with > the PHYs yet. > > Please give this a good round of test as PM > always tends to break things apart. > > I haven't thoroughly tested this yet, but I > thought that I should give people enough time > to run all sorts of tests on their platforms. > > The target for this patchset is v3.10, so there's > more than enough time to verify functionality > with all 4 patches applied. > > Note, also, that this patchset will help us finally > adding Hibernation support, but let's first make > sure that non-Hibernation PM works as expected, > since that's far more easier to implement and there > are platforms out there (err OMAP5) not using > the hibernation features ;-) > > (not thoroughly tested yet, specially the > pci_device_disable()/pci_device_enable() part) > > Note that I will still rebase this patchset > once v3.9-rc1 is tagged because of the latest > DT support patches. > > If anyone is interested in helping testing these > patches, I have them all available on dwc3-dev-pm-ops > branch on my tree, together with some other patches > which I have already sent to this mailing list. > > Changes since v3: > - Fixed warning when building host-only versions > > Changes since v2: > - Fixed a possible problem when gadget driver wasn't loaded > - Added PCIe and Exynos support > (for Exynos, I took Vikas' original patch) > > Changes since v1: > > - added one extra patch to keep track of pullups state > - modified PM support patch to reconnect pullups if they were connected > before suspending > > cheers > > Felipe Balbi (10): > usb: dwc3: core: don't forget to free coherent memory > usb: dwc3: core: explicitly setup and cleanup event buffers > usb: dwc3: gadget: introduce and use enable/disable irq methods > usb: dwc3: gadget: save state of pullups > usb: dwc3: core: add power management support > usb: dwc3: omap: fix a typo on of_device_id > usb: dwc3: omap: introduce enable/disable IRQ methods > usb: dwc3: omap: remove unused fields from private structure > usb: dwc3: omap: add basic suspend/resume support > usb: dwc3: pci: add basic suspend/resume support > > Vikas Sajjan (1): > usb: dwc3: exynos: add basic suspend/resume support > > drivers/usb/dwc3/core.c | 144 ++++++++++++++++++++++++++++++++++++----- > drivers/usb/dwc3/core.h | 34 ++++++++++ > drivers/usb/dwc3/dwc3-exynos.c | 34 ++++++++++ > drivers/usb/dwc3/dwc3-omap.c | 119 +++++++++++++++++++++++++--------- > drivers/usb/dwc3/dwc3-pci.c | 38 +++++++++++ > drivers/usb/dwc3/gadget.c | 141 ++++++++++++++++++++++++++++++---------- > 6 files changed, 432 insertions(+), 78 deletions(-) > Tested this patch-series on exynos5250 platform, alongwith [PATCH v2] usb: xhci: add the suspend/resume functionality after making following change in [PATCH v4 05/11] usb: dwc3: core: add power management support: ________________________________________________________ diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 8aa29b5..9444fbe 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -660,6 +660,9 @@ static int dwc3_suspend(struct device *dev) break; } + usb_phy_shutdown(dwc->usb2_phy); + usb_phy_shutdown(dwc->usb3_phy); + dwc->gctl = dwc3_readl(dwc->regs, DWC3_GCTL); spin_unlock_irqrestore(&dwc->lock, flags); @@ -675,6 +678,10 @@ static int dwc3_resume(struct device *dev) dwc3_writel(dwc->regs, DWC3_GCTL, dwc->gctl); + usb_phy_init(dwc->usb2_phy); + usb_phy_init(dwc->usb3_phy); + mdelay(100); + switch (dwc->mode) { case DWC3_MODE_DEVICE: case DWC3_MODE_DRD: ________________________________________________ Tested-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> > -- > 1.8.1.rc1.5.g7e0651a > -- Thanks & Regards Vivek -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html