[PATCH v9 0/5] USB DWC3 host wake up support from system suspend

From: Sandeep Maheswaram
Date: Mon Nov 01 2021 - 03:54:02 EST


Avoiding phy powerdown in host mode when wakeup capable devices are
connected, so that it can be wake up by devices.
Set GENPD_FLAG_ACTIVE_WAKEUP flag to keep usb30_prim gdsc active
when wakeup capable devices are connected to the host.

Changes in v9:
Checking with device_may_makeup property instead of phy_power_off flag.
Changed the IRQ flags and removed hs_phy_mode variable.

Changes in v8:
Moved the dwc3 suspend quirk code in dwc3/host.c to xhci-plat.c
Checking phy_power_off flag instead of usb_wakeup_enabled_descendants
to keep gdsc active.

Changes in v7:
Change in commit text and message in PATCH 1/5 and PATCH 5/5
as per Matthias suggestion.
Added curly braces for if and else if sections in PATCH 4/5.

Changes in v6:
Addressed comments in host.c and core.c
Separated the patches in dwc3-qcom.c to make it simple.
Dropped wakeup-source change as it is not related to this series.

Changes in v5:
Added phy_power_off flag to check presence of wakeup capable devices.
Dropped patch[v4,4/5] as it is present linux-next.
Addressed comments in host.c and dwc3-qcom.c.

Changes in v4:
Addressed Matthias comments raised in v3.

Changes in v3:
Removed need_phy_for_wakeup flag and by default avoiding phy powerdown.
Addressed Matthias comments and added entry for DEV_SUPERSPEED.
Added suspend_quirk in dwc3 host and moved the dwc3_set_phy_speed_flags.
Added wakeup-source dt entry and reading in dwc-qcom.c glue driver.

Changes in v2:
Dropped the patch in clock to set GENPD_FLAG_ACTIVE_WAKEUP flag and
setting in usb dwc3 driver.
Separated the core patch and glue driver patch.
Made need_phy_for_wakeup flag part of dwc structure and
hs_phy_flags as unsgined int.
Adrressed the comment on device_init_wakeup call.
Corrected offset for reading portsc register.
Added pacth to support wakeup in xo shutdown case.

Sandeep Maheswaram (5):
usb: host: xhci: plat: Add suspend quirk for dwc3 controller
usb: dwc3: core: Host wake up support from system suspend
usb: dwc3: qcom: Add helper functions to enable,disable wake irqs
usb: dwc3: qcom: Change the IRQ flag for DP/DM hs phy irq
usb: dwc3: qcom: Keep power domain on to support wakeup

drivers/usb/dwc3/core.c | 7 +++--
drivers/usb/dwc3/dwc3-qcom.c | 73 +++++++++++++++++++++++---------------------
drivers/usb/host/xhci-plat.c | 12 ++++++++
3 files changed, 56 insertions(+), 36 deletions(-)

--
2.7.4