]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pmdomain: ti_sci: handle wakeup constraint for out-of-band wakeup
authorKendall Willis <k-willis@ti.com>
Tue, 30 Dec 2025 21:37:18 +0000 (15:37 -0600)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 1 Apr 2026 11:07:31 +0000 (13:07 +0200)
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 <k-willis@ti.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/ti/ti_sci_pm_domains.c

index e5d1934f78d9ee0a02eb05aa1301cd5a59e134d6..18d33bc35dee1b3bf6107af1e414db377d515199 100644 (file)
@@ -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;
                }