wifi: iwlwifi: mvm: refactor TX csum mode check
authorJohannes Berg <johannes.berg@intel.com>
Thu, 13 Apr 2023 07:44:09 +0000 (10:44 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 13 Apr 2023 14:30:00 +0000 (16:30 +0200)
There are two modes now, and we have two places checking
that must be in sync. Refactor the logic into a new small
helper function.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413102635.ef6246f4b73b.I44820ec095634dd0bba3007465cf25e4ce1c77c6@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/tx.c

index 0ee5169..fc15636 100644 (file)
@@ -6129,10 +6129,7 @@ static bool iwl_mvm_mac_can_aggregate(struct ieee80211_hw *hw,
 {
        struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
 
-       if (mvm->trans->trans_cfg->device_family > IWL_DEVICE_FAMILY_BZ ||
-           (mvm->trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_BZ &&
-            !(CSR_HW_REV_TYPE(mvm->trans->hw_rev) == IWL_CFG_MAC_TYPE_GL &&
-              mvm->trans->hw_rev_step == SILICON_A_STEP)))
+       if (iwl_mvm_has_new_tx_csum(mvm))
                return iwl_mvm_tx_csum_bz(mvm, head, true) ==
                       iwl_mvm_tx_csum_bz(mvm, skb, true);
 
index e32ce87..76ac8a4 100644 (file)
@@ -1522,6 +1522,19 @@ static inline bool iwl_mvm_is_ctdp_supported(struct iwl_mvm *mvm)
                           IWL_UCODE_TLV_CAPA_CTDP_SUPPORT);
 }
 
+static inline bool iwl_mvm_has_new_tx_csum(struct iwl_mvm *mvm)
+{
+       if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ)
+               return false;
+
+       if (mvm->trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_BZ &&
+           CSR_HW_REV_TYPE(mvm->trans->hw_rev) == IWL_CFG_MAC_TYPE_GL &&
+           mvm->trans->hw_rev_step <= SILICON_B_STEP)
+               return false;
+
+       return true;
+}
+
 extern const u8 iwl_mvm_ac_to_tx_fifo[];
 extern const u8 iwl_mvm_ac_to_gen2_tx_fifo[];
 
index b3545c3..51f21cb 100644 (file)
@@ -184,10 +184,7 @@ static u32 iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
                           struct ieee80211_tx_info *info,
                           bool amsdu)
 {
-       if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ ||
-           (mvm->trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_BZ &&
-            CSR_HW_REV_TYPE(mvm->trans->hw_rev) == IWL_CFG_MAC_TYPE_GL &&
-            mvm->trans->hw_rev_step <= SILICON_B_STEP))
+       if (!iwl_mvm_has_new_tx_csum(mvm))
                return iwl_mvm_tx_csum_pre_bz(mvm, skb, info, amsdu);
        return iwl_mvm_tx_csum_bz(mvm, skb, amsdu);
 }