From adff6abbdcf9ecabd9bdf299ace6b5f85160e5f4 Mon Sep 17 00:00:00 2001 From: Kendall Willis Date: Tue, 30 Dec 2025 15:37:18 -0600 Subject: [PATCH] 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 --- drivers/pmdomain/ti/ti_sci_pm_domains.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pmdomain/ti/ti_sci_pm_domains.c b/drivers/pmdomain/ti/ti_sci_pm_domains.c index e5d1934f78d9..18d33bc35dee 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; }