]> www.infradead.org Git - users/jedix/linux-maple.git/commit
pmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups
authorKevin Hilman <khilman@baylibre.com>
Fri, 6 Dec 2024 22:12:52 +0000 (14:12 -0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 10 Dec 2024 11:37:26 +0000 (12:37 +0100)
commitb06bc47279919628b328710f7767ea7a18a68973
tree53042d9dbbafa805729d43d3bb30a04f97b07170
parent9d8aa0dd3be4099019ce258c1635062aaf56b737
pmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups

When a device supports IO daisy-chain wakeups, it uses a dedicated
wake IRQ.  Devices with IO daisy-chain wakeups enabled should not set
wakeup constraints since these can happen even from deep power states,
so should not prevent the DM from picking deep power states.

Wake IRQs are set with dev_pm_set_wake_irq() or
dev_pm_set_dedicated_wake_irq().  The latter is used by the serial
driver used on K3 platforms (drivers/tty/serial/8250/8250_omap.c)
when the interrupts-extended property is used to describe the
dedicated wakeup interrupt.

Detect these wake IRQs in the suspend path, and if set, skip sending
constraint.

Tested-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Message-ID: <20241206-lpm-v6-10-constraints-pmdomain-v6-3-833980158c68@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/ti/ti_sci_pm_domains.c