From: Kendall Willis Date: Tue, 30 Dec 2025 21:37:18 +0000 (-0600) Subject: pmdomain: ti_sci: handle wakeup constraint for out-of-band wakeup X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=adff6abbdcf9ecabd9bdf299ace6b5f85160e5f4;p=thirdparty%2Fkernel%2Flinux.git pmdomain: ti_sci: handle wakeup constraint for out-of-band wakeup For devices capable of out-of-band system wakeups via I/O daisy chaining, prevent sending wakeup constraints to the PM co-processor. This allows the system to enter deeper low power modes, as the device is not marked as requiring power. Replaces the logic from commit b06bc4727991 ("pmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups") since checking out-of-band wakeup will cover the same functionality. Detect out-of-band wakeup in the suspend path, and if it exists, skip sending the constraint. Signed-off-by: Kendall Willis Signed-off-by: Ulf Hansson --- diff --git a/drivers/pmdomain/ti/ti_sci_pm_domains.c b/drivers/pmdomain/ti/ti_sci_pm_domains.c index e5d1934f78d9e..18d33bc35dee1 100644 --- a/drivers/pmdomain/ti/ti_sci_pm_domains.c +++ b/drivers/pmdomain/ti/ti_sci_pm_domains.c @@ -91,8 +91,9 @@ static inline void ti_sci_pd_set_wkup_constraint(struct device *dev) * If device can wakeup using IO daisy chain wakeups, * we do not want to set a constraint. */ - if (dev->power.wakeirq) { - dev_dbg(dev, "%s: has wake IRQ, not setting constraints\n", __func__); + if (device_out_band_wakeup(dev)) { + dev_dbg(dev, "%s: has out of band wakeup, not setting constraints\n", \ + __func__); return; }