[PATCH v2 00/14] usb: dwc2: Fix Partial Power down issues.

From: Artur Petrosyan
Date: Thu Apr 08 2021 - 03:28:41 EST


This patch set fixes and improves the Partial Power Down mode for
dwc2 core.
It adds support for the following cases
1. Entering and exiting partial power down when a port is
suspended, resumed, port reset is asserted.
2. Exiting the partial power down mode before removing driver.
3. Exiting partial power down in wakeup detected interrupt handler.
4. Exiting from partial power down mode when connector ID.
status changes to "connId B

It updates and fixes the implementation of dwc2 entering and
exiting partial power down mode when the system (PC) is suspended.

The patch set also improves the implementation of function handlers
for entering and exiting host or device partial power down.

NOTE: This is the second patch set in the power saving mode fixes
series.
This patch set is part of multiple series and is continuation
of the "usb: dwc2: Fix and improve power saving modes" patch set.
(Patch set link: https://marc.info/?l=linux-usb&m=160379622403975&w=2).
The patches that were included in the "usb: dwc2:
Fix and improve power saving modes" which was submitted
earlier was too large and needed to be split up into
smaller patch sets.

Changes since V1:
No changes in the patches or the source code.
Sending the second version of the patch set because the first version
was not received by vger.kernel.org.



Artur Petrosyan (14):
usb: dwc2: Add device partial power down functions
usb: dwc2: Add host partial power down functions
usb: dwc2: Update enter and exit partial power down functions
usb: dwc2: Add partial power down exit flow in wakeup intr.
usb: dwc2: Update port suspend/resume function definitions.
usb: dwc2: Add enter partial power down when port is suspended
usb: dwc2: Add exit partial power down when port is resumed
usb: dwc2: Add exit partial power down when port reset is asserted
usb: dwc2: Add part. power down exit from
dwc2_conn_id_status_change().
usb: dwc2: Allow exit partial power down in urb enqueue
usb: dwc2: Fix session request interrupt handler
usb: dwc2: Update partial power down entering by system suspend
usb: dwc2: Fix partial power down exiting by system resume
usb: dwc2: Add exit partial power down before removing driver

drivers/usb/dwc2/core.c | 113 ++-------
drivers/usb/dwc2/core.h | 27 ++-
drivers/usb/dwc2/core_intr.c | 46 ++--
drivers/usb/dwc2/gadget.c | 148 ++++++++++-
drivers/usb/dwc2/hcd.c | 458 +++++++++++++++++++++++++----------
drivers/usb/dwc2/hw.h | 1 +
drivers/usb/dwc2/platform.c | 11 +-
7 files changed, 558 insertions(+), 246 deletions(-)


base-commit: e9fcb07704fcef6fa6d0333fd2b3a62442eaf45b
--
2.25.1