aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2018-06-14 08:58:24 -0400
committerLuca Coelho <luciano.coelho@intel.com>2018-10-06 03:25:48 -0400
commit750f43774eb43aa36465c2df5874dbeafb67c9bd (patch)
treee00a7ddf62b3fa3d8eaf50b15a5df658a5d479d1
parent2b1476345fb6c837fae608c4fd9fddb48059c612 (diff)
iwlwifi: mvm: add LDPC-XSYM to HE radiotap data
Add information about the LDCP extra symbol segment to the HE data when applicable (not for trigger-based PPDUs). While at it, clean up the code for UL/DL a bit. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
index 52709130cb0b..b6f7fae0d757 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
@@ -1054,11 +1054,17 @@ static void iwl_mvm_decode_he_phy_data(struct iwl_mvm *mvm,
1054 } 1054 }
1055 1055
1056 if (he_type != RATE_MCS_HE_TYPE_TRIG) { 1056 if (he_type != RATE_MCS_HE_TYPE_TRIG) {
1057 he->data1 |= 1057 u16 d1known = IEEE80211_RADIOTAP_HE_DATA1_LDPC_XSYMSEG_KNOWN |
1058 cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA1_UL_DL_KNOWN); 1058 IEEE80211_RADIOTAP_HE_DATA1_UL_DL_KNOWN;
1059 if (FIELD_GET(IWL_RX_HE_PHY_UPLINK, he_phy_data)) 1059
1060 he->data3 |= 1060 he->data1 |= cpu_to_le16(d1known);
1061 cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA3_UL_DL); 1061
1062 he->data3 |= le16_encode_bits(FIELD_GET(IWL_RX_HE_PHY_UPLINK,
1063 he_phy_data),
1064 IEEE80211_RADIOTAP_HE_DATA3_UL_DL);
1065 he->data3 |= le16_encode_bits(FIELD_GET(IWL_RX_HE_PHY_LDPC_EXT_SYM,
1066 he_phy_data),
1067 IEEE80211_RADIOTAP_HE_DATA3_LDPC_XSYMSEG);
1062 } 1068 }
1063 1069
1064 switch (FIELD_GET(IWL_RX_HE_PHY_INFO_TYPE_MASK, he_phy_data)) { 1070 switch (FIELD_GET(IWL_RX_HE_PHY_INFO_TYPE_MASK, he_phy_data)) {