diff options
author | Alex Elder <elder@linaro.org> | 2020-11-02 11:53:57 -0600 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-11-04 16:28:04 -0800 |
commit | 56dfe8dedff977e5c20fbe7ace5e5f9ddef4b4ec (patch) | |
tree | 54acb24ac43e8910ed11224e0a30b5cd212ffb4a /drivers/net/ipa | |
parent | 14dbf977dd45115a13a64ab480886598ee0ba755 (diff) |
net: ipa: use version in gsi_channel_init()
A quirk of IPA v4.2 requires the AP to allocate the GSI channels
that are owned by the modem.
Rather than pass a flag argument to gsi_channel_init(), use the
IPA version directly in that function to determine whether modem
channels need to be allocated.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa')
-rw-r--r-- | drivers/net/ipa/gsi.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c index 178d6ec2699e..eae8ed83c100 100644 --- a/drivers/net/ipa/gsi.c +++ b/drivers/net/ipa/gsi.c @@ -1894,12 +1894,15 @@ static void gsi_channel_exit_one(struct gsi_channel *channel) /* Init function for channels */ static int gsi_channel_init(struct gsi *gsi, u32 count, - const struct ipa_gsi_endpoint_data *data, - bool modem_alloc) + const struct ipa_gsi_endpoint_data *data) { + bool modem_alloc; int ret = 0; u32 i; + /* IPA v4.2 requires the AP to allocate channels for the modem */ + modem_alloc = gsi->version == IPA_VERSION_4_2; + gsi_evt_ring_init(gsi); /* The endpoint data array is indexed by endpoint name */ @@ -1961,14 +1964,10 @@ int gsi_init(struct gsi *gsi, struct platform_device *pdev, struct resource *res; resource_size_t size; unsigned int irq; - bool modem_alloc; int ret; gsi_validate_build(); - /* IPA v4.2 requires the AP to allocate channels for the modem */ - modem_alloc = version == IPA_VERSION_4_2; - gsi->dev = dev; gsi->version = version; @@ -2014,7 +2013,7 @@ int gsi_init(struct gsi *gsi, struct platform_device *pdev, goto err_free_irq; } - ret = gsi_channel_init(gsi, count, data, modem_alloc); + ret = gsi_channel_init(gsi, count, data); if (ret) goto err_iounmap; |