mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
wifi: iwlwifi: mvm: refactor TX csum mode check
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>
This commit is contained in:
parent
d34d11aea2
commit
a0c8ab93eb
3 changed files with 15 additions and 8 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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[];
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue