net: ipa: configure memory regions early
authorAlex Elder <elder@linaro.org>
Mon, 26 Jul 2021 20:11:33 +0000 (15:11 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Jul 2021 22:09:18 +0000 (23:09 +0100)
IPA-resident memory is one of the most primitive resources that
needs initialization, so call init_mem_config() early in
ipa_config().

This is in preparation for initializing the IPA-resident
microcontroller earlier.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/ipa_main.c

index 971987fd53d6aceb80d40759b7b5639b50748c8f..47ed96dd49ab4fba9b2c0e545e873b8f354e2ab6 100644 (file)
@@ -468,31 +468,31 @@ static int ipa_config(struct ipa *ipa, const struct ipa_data *data)
 
        ipa_hardware_config(ipa, data);
 
-       ret = ipa_endpoint_config(ipa);
+       ret = ipa_mem_config(ipa);
        if (ret)
                goto err_hardware_deconfig;
 
-       ret = ipa_mem_config(ipa);
+       ret = ipa_endpoint_config(ipa);
        if (ret)
-               goto err_endpoint_deconfig;
+               goto err_mem_deconfig;
 
        ipa_table_config(ipa);          /* No deconfig required */
 
        /* Assign resource limitation to each group; no deconfig required */
        ret = ipa_resource_config(ipa, data->resource_data);
        if (ret)
-               goto err_mem_deconfig;
+               goto err_endpoint_deconfig;
 
        ret = ipa_modem_config(ipa);
        if (ret)
-               goto err_mem_deconfig;
+               goto err_endpoint_deconfig;
 
        return 0;
 
-err_mem_deconfig:
-       ipa_mem_deconfig(ipa);
 err_endpoint_deconfig:
        ipa_endpoint_deconfig(ipa);
+err_mem_deconfig:
+       ipa_mem_deconfig(ipa);
 err_hardware_deconfig:
        ipa_hardware_deconfig(ipa);
        ipa_clock_put(ipa);
@@ -507,8 +507,8 @@ err_hardware_deconfig:
 static void ipa_deconfig(struct ipa *ipa)
 {
        ipa_modem_deconfig(ipa);
-       ipa_mem_deconfig(ipa);
        ipa_endpoint_deconfig(ipa);
+       ipa_mem_deconfig(ipa);
        ipa_hardware_deconfig(ipa);
        ipa_clock_put(ipa);
 }