net: ipa: don't disable interrupt on suspend
authorAlex Elder <elder@linaro.org>
Mon, 1 Feb 2021 17:28:49 +0000 (11:28 -0600)
committerJakub Kicinski <kuba@kernel.org>
Wed, 3 Feb 2021 01:42:36 +0000 (17:42 -0800)
commita65c0288b355a8bb71f43cf9b4c33ada51e0ec26
treee14301c2236225df86c285de2fcfa0973d3e3e6e
parent4fef691c9b6ab5ed92b874bc6ddfb14a34c650ab
net: ipa: don't disable interrupt on suspend

No completion interrupts will occur while an endpoint is suspended,
nor when a channel has been stopped for suspend.  So there's no need
to disable the interrupt during suspend and re-enable it when
resuming.  Without any interrupts occurring, there is no need to
disable/re-enable NAPI for channel suspend/resume either.

We'll only enable NAPI and the interrupt when we first start the
channel, and disable it again only when it's "really" stopped.

To accomplish this, move the enable/disable calls out of
__gsi_channel_start() and __gsi_channel_stop(), and into
gsi_channel_start() and gsi_channel_stop() instead.

Add a call to napi_synchronize() to gsi_channel_suspend(), to ensure
NAPI polling is done before moving on.

Signed-off-by: Alex Elder <elder@linaro.org>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/gsi.c