net: ipa: use version in gsi_channel_init()
authorAlex Elder <elder@linaro.org>
Mon, 2 Nov 2020 17:53:57 +0000 (11:53 -0600)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Nov 2020 00:28:04 +0000 (16:28 -0800)
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>
drivers/net/ipa/gsi.c

index 178d6ec2699eb944a076d09f70fbb012dc945043..eae8ed83c1004abc3ed62f08c326eed5d953be11 100644 (file)
@@ -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;