summaryrefslogtreecommitdiff
path: root/drivers/net/ipa/gsi.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2021-11-24 14:25:10 -0600
committerJakub Kicinski <kuba@kernel.org>2021-11-25 19:37:34 -0800
commit7ece9eaa3f16cec20f3138bab84f4fc98eff0ec8 (patch)
tree1c45cbaaf483ecd4eb41cf7469169678ef8c9eec /drivers/net/ipa/gsi.h
parent1b65bbcc9a71012003511b23b02b32db5c2f1adb (diff)
net: ipa: GSI only needs one completion
A mutex ensures we never submit more than one GSI command of any kind at once. This means the per-channel and per-event ring completion structures provide no benefit. Instead, just use the single (existing) GSI completion to signal the completion of GSI commands of all types. This makes gsi_evt_ring_init() a trivial function with no inverse, so open-code it in its sole caller and get rid of the function. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa/gsi.h')
-rw-r--r--drivers/net/ipa/gsi.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/ipa/gsi.h b/drivers/net/ipa/gsi.h
index 88b80dc3db79..ccaa333e3762 100644
--- a/drivers/net/ipa/gsi.h
+++ b/drivers/net/ipa/gsi.h
@@ -114,8 +114,6 @@ struct gsi_channel {
u16 tre_count;
u16 event_count;
- struct completion completion; /* signals channel command completion */
-
struct gsi_ring tre_ring;
u32 evt_ring_id;
@@ -141,7 +139,6 @@ enum gsi_evt_ring_state {
struct gsi_evt_ring {
struct gsi_channel *channel;
- struct completion completion; /* signals event ring state changes */
struct gsi_ring ring;
};
@@ -160,7 +157,7 @@ struct gsi {
u32 modem_channel_bitmap; /* modem channels to allocate */
u32 type_enabled_bitmap; /* GSI IRQ types enabled */
u32 ieob_enabled_bitmap; /* IEOB IRQ enabled (event rings) */
- struct completion completion; /* for global EE commands */
+ struct completion completion; /* Signals GSI command completion */
int result; /* Negative errno (generic commands) */
struct mutex mutex; /* protects commands, programming */
};