This patch set, fixes and improves partial power down and hibernation power saving modes. Also, adds support for entering/exiting hibernation by system issued suspend/resume. This series contains patches which were submitted to LKML. However, a part of those patches didn't reach to LKML because of local issue related to smtp server. The patches which reached to LKML are: - usb: dwc2: Add part. power down exit from dwc2_conn_id_status_change(). - usb: dwc2: Add port conn. sts. checking in _dwc2_hcd_resume() function. - usb: dwc2: Fix suspend state in host mode for partial power down. - usb: dwc2: Fix wakeup detected and session request interrupt handlers. - usb: dwc2: Add descriptive debug messages for Partial Power Down mode. - usb: dwc2: Fix dwc2_restore_device_registers() function. The patches which didn't reach to LKML are: - usb: dwc2: Add enter/exit hibernation from system issued suspend/resume - usb: dwc2: Clear GINTSTS_RESTOREDONE bit after restore is generated. - usb: dwc2: Clear fifo_map when resetting core. - usb: dwc2: Allow exiting hibernation from gpwrdn rst detect - usb: dwc2: Fix hibernation between host and device modes. - usb: dwc2: Update dwc2_handle_usb_suspend_intr function. - usb: dwc2: Add default param to control power optimization. - usb: dwc2: Reset DEVADDR after exiting gadget hibernation. Submitting all of the patches together in this version. Changes from V0: - Replaced 1 with DWC2_POWER_DOWN_PARAM_PARTIAL in commit "9eed02b9fe96 usb: dwc2: Fix wakeup detected and session request interrupt handlers. Artur Petrosyan (14): usb: dwc2: Fix dwc2_restore_device_registers() function. usb: dwc2: Add descriptive debug messages for Partial Power Down mode. usb: dwc2: Fix wakeup detected and session request interrupt handlers. usb: dwc2: Fix suspend state in host mode for partial power down. usb: dwc2: Add port conn. sts. checking in _dwc2_hcd_resume() function. usb: dwc2: Add part. power down exit from dwc2_conn_id_status_change(). usb: dwc2: Reset DEVADDR after exiting gadget hibernation. usb: dwc2: Add default param to control power optimization. usb: dwc2: Update dwc2_handle_usb_suspend_intr function. usb: dwc2: Fix hibernation between host and device modes. usb: dwc2: Allow exiting hibernation from gpwrdn rst detect usb: dwc2: Clear fifo_map when resetting core. usb: dwc2: Clear GINTSTS_RESTOREDONE bit after restore is generated. usb: dwc2: Add enter/exit hibernation from system issued suspend/resume drivers/usb/dwc2/core.c | 20 +++++ drivers/usb/dwc2/core.h | 3 + drivers/usb/dwc2/core_intr.c | 179 ++++++++++++++++++++++++++----------------- drivers/usb/dwc2/debugfs.c | 2 + drivers/usb/dwc2/gadget.c | 16 +++- drivers/usb/dwc2/hcd.c | 151 +++++++++++++++++++++++++----------- drivers/usb/dwc2/params.c | 19 +++-- 7 files changed, 269 insertions(+), 121 deletions(-) -- 2.11.0