[PATCH net-next 0/6] net: ipa: don't abort system suspend

From: Alex Elder
Date: Fri Feb 23 2024 - 08:40:22 EST


Currently the IPA code aborts an in-progress system suspend if an
IPA interrupt arrives before the suspend completes. There is no
need to do that though, because the IPA driver handles a forced
suspend correctly, quiescing any hardware activity before finally
turning off clocks and interconnects.

This series drops the call to pm_wakeup_dev_event() if an IPA
SUSPEND interrupt arrives during system suspend. Doing this
makes the two remaining IPA power flags unnecessary, and allows
some additional code to be cleaned up--and best of all, removed.
The result is much simpler (and I'm really glad not to be using
these flags any more).

The first patch implements the main change. The second and
third remove the flags that were used to determine whether to
call pm_wakeup_dev_event(). The next two remove a function that
becomes a trivial wrapper, and the last one just avoids writing
a register unnecessarily.

Note that the first two patches will have checkpatch warnings,
because checkpatch disagrees with my compiler on what to do when
a block contains only a semicolon. I went with what the compiler
recommends.

clang says: warning: suggest braces around empty body
checkpatch: WARNING: braces {} are not necessary for single statement blocks

-Alex

Alex Elder (6):
net: ipa: don't bother aborting system resume
net: ipa: kill IPA_POWER_FLAG_SYSTEM
net: ipa: kill the IPA_POWER_FLAG_RESUMED flag
net: ipa: move ipa_interrupt_suspend_clear_all() up
net: ipa: kill ipa_power_suspend_handler()
net: ipa: don't bother zeroing an already zero register

drivers/net/ipa/ipa_interrupt.c | 50 ++++++++++++++++-----------------
drivers/net/ipa/ipa_interrupt.h | 8 ------
drivers/net/ipa/ipa_power.c | 33 ----------------------
drivers/net/ipa/ipa_power.h | 11 --------
4 files changed, 25 insertions(+), 77 deletions(-)

--
2.40.1