drivers/base/power/main.c | 1 + drivers/pmdomain/core.c | 6 ++++-- drivers/usb/chipidea/ci_hdrc_imx.c | 11 ++++++++++- drivers/usb/chipidea/core.c | 3 +++ drivers/usb/dwc3/dwc3-imx8mp.c | 9 +++++++-- include/linux/pm.h | 1 + include/linux/pm_wakeup.h | 17 +++++++++++++++++ include/linux/usb/chipidea.h | 1 + 8 files changed, 44 insertions(+), 5 deletions(-)
To i.MX95, USB2 and USB3 are in HSIOMIX domain, but there is always on logic to make USB2 and USB3 has wakeup capability when HSIOMIX power domain is in off state. So when in system-suspend state, USB2/USB3 could wakeup the system even the USB2/USB3 HSIOMIX power domain is turned off. This means USB2/USB3 has out-of-band wakeup capability to wakeup system from suspended state. Without this patchset, if USB2/USB3 are configured with wakeup enabled, the HSIOMIX power domain will not be turned off. This leads to more power consumed in system suspend state. This patchset introduces device_set_out_band_wakeup and device_out_band_wakeup two APIs to set out-of-band and query the flag. In genpd_finish_suspend, there is a check, if out-of-band is set, it will continue to turn off the power domain. In genpd resume flow, there is a similar check to turn on the power domain. Patch 1,2 introduces device_set_out_band_wakeup and device_out_band_wakeup Patch 3 and 4 are drivers changes to use device_out_band_wakeup More old discussions: https://lore.kernel.org/linux-pm/20250311083239.3336439-1-peng.fan@oss.nxp.com/ This is pick up of [1] This V2 patchset - includes usb driver changes to give people a full picture on how it is used. - Rebased next-20250729 to resolve conflicts [1]https://lore.kernel.org/linux-pm/20250311083239.3336439-1-peng.fan@oss.nxp.com/ Changes in v4: - Split device_set_out_band_wakeup API and pmdomain changes into patch 1 and 2 and clear the flag in device_prepare (from Ulf) - Add R-b in patch 2 - Move the call of device_set_out_band_wakeup to system suspend callback in patch 3 and 4. (from Ulf) - For patch 3,4, I still keep the Tags, since compared with V3, it is quite small changes. - Link to v3: https://lore.kernel.org/r/20250902-pm-v3-0-ffadbb454cdc@nxp.com Changes in v3: - Add a new patch from Xu Yang to detach power domain for ci hdrc - Add A-b for patch 4 - Link to v2: https://lore.kernel.org/r/20250801-pm-v2-0-97c8fb2a433c@nxp.com Signed-off-by: Peng Fan <peng.fan@nxp.com> --- Peng Fan (4): PM: wakeup: Add out-of-band system wakeup support for devices PM: domains: Allow power-off for out-of-band wakeup-capable devices usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95 usb: dwc3: imx8mp: Set out of band wakeup for i.MX95 Xu Yang (1): usb: chipidea: core: detach power domain for ci_hdrc platform device drivers/base/power/main.c | 1 + drivers/pmdomain/core.c | 6 ++++-- drivers/usb/chipidea/ci_hdrc_imx.c | 11 ++++++++++- drivers/usb/chipidea/core.c | 3 +++ drivers/usb/dwc3/dwc3-imx8mp.c | 9 +++++++-- include/linux/pm.h | 1 + include/linux/pm_wakeup.h | 17 +++++++++++++++++ include/linux/usb/chipidea.h | 1 + 8 files changed, 44 insertions(+), 5 deletions(-) --- base-commit: 8f7f8b1b3f4c613dd886f53f768f82816b41eaa3 change-id: 20250919-pm-v4-1879568de500 Best regards, -- Peng Fan <peng.fan@nxp.com>
On Mon, 22 Sept 2025 at 04:21, Peng Fan <peng.fan@nxp.com> wrote: > > To i.MX95, USB2 and USB3 are in HSIOMIX domain, but there is always on logic > to make USB2 and USB3 has wakeup capability when HSIOMIX power domain > is in off state. So when in system-suspend state, USB2/USB3 could wakeup > the system even the USB2/USB3 HSIOMIX power domain is turned off. This > means USB2/USB3 has out-of-band wakeup capability to wakeup system from > suspended state. > > Without this patchset, if USB2/USB3 are configured with wakeup enabled, > the HSIOMIX power domain will not be turned off. This leads to more > power consumed in system suspend state. > > This patchset introduces device_set_out_band_wakeup and > device_out_band_wakeup two APIs to set out-of-band and query the flag. > In genpd_finish_suspend, there is a check, if out-of-band is set, > it will continue to turn off the power domain. In genpd resume flow, > there is a similar check to turn on the power domain. > > Patch 1,2 introduces device_set_out_band_wakeup and > device_out_band_wakeup > Patch 3 and 4 are drivers changes to use device_out_band_wakeup > > More old discussions: > https://lore.kernel.org/linux-pm/20250311083239.3336439-1-peng.fan@oss.nxp.com/ > > This is pick up of [1] > This V2 patchset > - includes usb driver changes to give people a full picture on how it is used. > - Rebased next-20250729 to resolve conflicts > > [1]https://lore.kernel.org/linux-pm/20250311083239.3336439-1-peng.fan@oss.nxp.com/ > > Changes in v4: > - Split device_set_out_band_wakeup API and pmdomain changes into patch 1 > and 2 and clear the flag in device_prepare (from Ulf) > - Add R-b in patch 2 > - Move the call of device_set_out_band_wakeup to system suspend > callback in patch 3 and 4. (from Ulf) > - For patch 3,4, I still keep the Tags, since compared with V3, it is quite > small changes. > - Link to v3: https://lore.kernel.org/r/20250902-pm-v3-0-ffadbb454cdc@nxp.com > > Changes in v3: > - Add a new patch from Xu Yang to detach power domain for ci hdrc > - Add A-b for patch 4 > - Link to v2: https://lore.kernel.org/r/20250801-pm-v2-0-97c8fb2a433c@nxp.com > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > Peng Fan (4): > PM: wakeup: Add out-of-band system wakeup support for devices > PM: domains: Allow power-off for out-of-band wakeup-capable devices > usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95 > usb: dwc3: imx8mp: Set out of band wakeup for i.MX95 > > Xu Yang (1): > usb: chipidea: core: detach power domain for ci_hdrc platform device > > drivers/base/power/main.c | 1 + > drivers/pmdomain/core.c | 6 ++++-- > drivers/usb/chipidea/ci_hdrc_imx.c | 11 ++++++++++- > drivers/usb/chipidea/core.c | 3 +++ > drivers/usb/dwc3/dwc3-imx8mp.c | 9 +++++++-- > include/linux/pm.h | 1 + > include/linux/pm_wakeup.h | 17 +++++++++++++++++ > include/linux/usb/chipidea.h | 1 + > 8 files changed, 44 insertions(+), 5 deletions(-) > --- > base-commit: 8f7f8b1b3f4c613dd886f53f768f82816b41eaa3 > change-id: 20250919-pm-v4-1879568de500 > > Best regards, > -- > Peng Fan <peng.fan@nxp.com> > Rafael, I intend to pick up this series via my pmdomain tree shortly, unless you have some objections, of course. Kind regards Uffe
Hi Ulf, On Tue, Sep 23, 2025 at 12:07:02PM +0200, Ulf Hansson wrote: >On Mon, 22 Sept 2025 at 04:21, Peng Fan <peng.fan@nxp.com> wrote: >> ... >> --- >> Peng Fan (4): >> PM: wakeup: Add out-of-band system wakeup support for devices >> PM: domains: Allow power-off for out-of-band wakeup-capable devices >> usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95 >> usb: dwc3: imx8mp: Set out of band wakeup for i.MX95 >> >> Xu Yang (1): >> usb: chipidea: core: detach power domain for ci_hdrc platform device ... > >Rafael, I intend to pick up this series via my pmdomain tree shortly, >unless you have some objections, of course. Sorry for an early ping. I see v6.17 is released. Just want to know whether you would pick this up for 6.18. Thanks, Peng > >Kind regards >Uffe
On Mon, 29 Sept 2025 at 04:28, Peng Fan <peng.fan@oss.nxp.com> wrote: > > Hi Ulf, > > On Tue, Sep 23, 2025 at 12:07:02PM +0200, Ulf Hansson wrote: > >On Mon, 22 Sept 2025 at 04:21, Peng Fan <peng.fan@nxp.com> wrote: > >> > ... > >> --- > >> Peng Fan (4): > >> PM: wakeup: Add out-of-band system wakeup support for devices > >> PM: domains: Allow power-off for out-of-band wakeup-capable devices > >> usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95 > >> usb: dwc3: imx8mp: Set out of band wakeup for i.MX95 > >> > >> Xu Yang (1): > >> usb: chipidea: core: detach power domain for ci_hdrc platform device > ... > > > >Rafael, I intend to pick up this series via my pmdomain tree shortly, > >unless you have some objections, of course. > > Sorry for an early ping. I see v6.17 is released. Just want to know whether > you would pick this up for 6.18. If we have had another week, then v6.18 should have worked. That said, I plan to queue this for v6.19 as soon as we have v6.18-rc1. Kind regards Uffe
© 2016 - 2025 Red Hat, Inc.