]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: move amsdu_size parsing to iwlwifi
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Mon, 27 May 2024 16:06:14 +0000 (19:06 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 29 May 2024 08:34:07 +0000 (10:34 +0200)
The code that is parsing the amsdu_size module parameter and mapping it
to the corresponding Rx buffer size is common to all opmodes.
Move it into a function in iwlwifi, as preparation to a new op mode we
are working on.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://msgid.link/20240527190228.a3430d32923d.Iab3c22ef0df685f72f22dafc47021f0dc7bd6fa5@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
drivers/net/wireless/intel/iwlwifi/mvm/ops.c

index 1cf26ab4f4887f27f1a30f220ad1f27deecdf954..21eabfc3ffc84b8ec3670feba7d3e4883469fdce 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
 /*
- * Copyright (C) 2005-2014, 2018-2022 Intel Corporation
+ * Copyright (C) 2005-2014, 2018-2022, 2024 Intel Corporation
  */
 #ifndef __iwl_modparams_h__
 #define __iwl_modparams_h__
@@ -106,4 +106,23 @@ static inline bool iwl_enable_tx_ampdu(void)
        return true;
 }
 
+/* Verify amsdu_size module parameter and convert it to a rxb size */
+static inline enum iwl_amsdu_size
+iwl_amsdu_size_to_rxb_size(void)
+{
+       switch (iwlwifi_mod_params.amsdu_size) {
+       case IWL_AMSDU_8K:
+               return IWL_AMSDU_8K;
+       case IWL_AMSDU_12K:
+               return IWL_AMSDU_12K;
+       default:
+               pr_err("%s: Unsupported amsdu_size: %d\n", KBUILD_MODNAME,
+                      iwlwifi_mod_params.amsdu_size);
+               fallthrough;
+       case IWL_AMSDU_DEF:
+       case IWL_AMSDU_4K:
+               return IWL_AMSDU_4K;
+       }
+}
+
 #endif /* #__iwl_modparams_h__ */
index ed9487062093ddeddd5e7c667859744b577d2953..85178fe1b7eac2b507579a85e74804fb781649f7 100644 (file)
@@ -1373,24 +1373,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
        trans_cfg.no_reclaim_cmds = no_reclaim_cmds;
        trans_cfg.n_no_reclaim_cmds = ARRAY_SIZE(no_reclaim_cmds);
 
-       switch (iwlwifi_mod_params.amsdu_size) {
-       case IWL_AMSDU_DEF:
-               trans_cfg.rx_buf_size = IWL_AMSDU_4K;
-               break;
-       case IWL_AMSDU_4K:
-               trans_cfg.rx_buf_size = IWL_AMSDU_4K;
-               break;
-       case IWL_AMSDU_8K:
-               trans_cfg.rx_buf_size = IWL_AMSDU_8K;
-               break;
-       case IWL_AMSDU_12K:
-               trans_cfg.rx_buf_size = IWL_AMSDU_12K;
-               break;
-       default:
-               pr_err("%s: Unsupported amsdu_size: %d\n", KBUILD_MODNAME,
-                      iwlwifi_mod_params.amsdu_size);
-               trans_cfg.rx_buf_size = IWL_AMSDU_4K;
-       }
+       trans_cfg.rx_buf_size = iwl_amsdu_size_to_rxb_size();
 
        trans->wide_cmd_header = true;
        trans_cfg.bc_table_dword =