usb: dwc2: gadget: Fix dwc2_restore_device_registers
authorVardan Mikayelyan <mvardan@synopsys.com>
Fri, 16 Feb 2018 10:08:00 +0000 (14:08 +0400)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 13 Mar 2018 08:47:54 +0000 (10:47 +0200)
commit9a5d2816b8560320ac625e8ae6cfc0d36ea0f52b
treea0f6fa9b84c28370870aee038e80ebd3bb7e275f
parentaf7c2bd37867f51e8e3975b98a0d4ee8802d5110
usb: dwc2: gadget: Fix dwc2_restore_device_registers

Add parameter remote_wakeup to dwc2_restore_device_registers()
to be able to restore device registers according to programming
guide for dwc-otg. It says that in case of rem_wakeup DCTL must not
be restored here.

Remove setting of DCTL_PWRONPRGDONE from this function, because it
will be done in function responsible for exiting from hibernation.

WA for enabled EPx's IN and OUT in DDMA mode. On entering to
hibernation wrong value read and saved from DIEPDMAx,
as result BNA interrupt asserted on hibernation exit
by restoring from saved area.

Signed-off-by: Vardan Mikayelyan <mvardan@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Artur Petrosyan <arturp@synopsys.com>
Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Grigor Tovmasyan <tovmasya@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc2/core.c
drivers/usb/dwc2/core.h
drivers/usb/dwc2/gadget.c