]> git.baikalelectronics.ru Git - kernel.git/commit
net: ipa: introduce __gsi_channel_start()
authorAlex Elder <elder@linaro.org>
Mon, 1 Feb 2021 17:28:46 +0000 (11:28 -0600)
committerJakub Kicinski <kuba@kernel.org>
Wed, 3 Feb 2021 01:42:35 +0000 (17:42 -0800)
commitf5485ea26cf78574595f4e6802aab60627402d6c
tree25bea4e392f88ed87c684c3344b2ff6b04863228
parenta8f71e78befea68ac6daf0d500b0c0ad56670ad9
net: ipa: introduce __gsi_channel_start()

Create a new function that does most of the work of starting a
channel.  What's different is that it takes a flag indicating
whether the channel should really be started or not.  Create
another new function __gsi_channel_stop() that behaves similarly.

IPA v3.5.1 implements suspend using a special SUSPEND endpoint
setting.  If the endpoint is suspended when an I/O completes on the
underlying GSI channel, a SUSPEND interrupt is generated.

Newer versions of IPA do not implement the SUSPEND endpoint mode.
Instead, endpoint suspend is implemented by simply stopping the
underlying GSI channel.  In this case, a completing I/O on a
*stopped* channel causes the SUSPEND interrupt condition.

These new functions put all activity related to starting or stopping
a channel (including "thawing/freezing" the channel) in one place,
whether or not the channel is actually started or stopped.

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