On Tue, Oct 28, 2014 at 06:47:08PM +0000, Paul Zimmerman wrote: > > From: Huang Rui [mailto:ray.huang@amd.com] > > Sent: Tuesday, October 28, 2014 4:54 AM > > > > It enables hibernation if the function is set in coreConsultant. > > > > Suggested-by: Felipe Balbi > > Signed-off-by: Huang Rui > > --- > > drivers/usb/dwc3/core.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > > index fa396fc..bf77509 100644 > > --- a/drivers/usb/dwc3/core.c > > +++ b/drivers/usb/dwc3/core.c > > @@ -449,6 +449,7 @@ static int dwc3_core_init(struct dwc3 *dwc) > > case DWC3_GHWPARAMS1_EN_PWROPT_HIB: > > /* enable hibernation here */ > > dwc->nr_scratch = DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(hwparams4); > > + reg |= DWC3_GCTL_GBLHIBERNATIONEN; > > break; > > default: > > dev_dbg(dwc->dev, "No power optimization available\n"); > > What effect does this have when the controller is in device mode? I > expect it will start generating DWC3_DEVICE_EVENT_HIBER_REQ interrupt > events when this register bit is set. So the dev_WARN_ONCE in > dwc3_gadget_interrupt() will start firing, I think. Ok, so this *has* to wait for proper hibernation support ? -- balbi