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 b06bc47279 ("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>
This commit is contained in:
Kendall Willis
2025-12-30 15:37:18 -06:00
committed by Ulf Hansson
parent aeb6d7c676
commit adff6abbdc

View 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;
}