From: Johannes Berg <johannes.b...@intel.com>

When the info type is MU, we still have the data from the TSF
overload words, so should decode that. When it's MU_EXT_INFO
we additionally have the SIG-B common 0/1/2 fields.

Also document the validity depending on the info type and fix
the name of the regular TB PPDU info type accordingly.

Signed-off-by: Johannes Berg <johannes.b...@intel.com>
Signed-off-by: Luca Coelho <luciano.coe...@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/fw/api/rx.h | 8 ++++----
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c  | 3 ++-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h 
b/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h
index 415b8842b426..0537496b6eb1 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/api/rx.h
@@ -368,10 +368,10 @@ enum iwl_rx_he_phy {
        /* trigger encoded */
        IWL_RX_HE_PHY_RU_ALLOC_MASK             = 0xfe0000000000ULL,
        IWL_RX_HE_PHY_INFO_TYPE_MASK            = 0xf000000000000000ULL,
-       IWL_RX_HE_PHY_INFO_TYPE_SU              = 0x0,
-       IWL_RX_HE_PHY_INFO_TYPE_MU              = 0x1,
-       IWL_RX_HE_PHY_INFO_TYPE_MU_EXT_INFO     = 0x2,
-       IWL_RX_HE_PHY_INFO_TYPE_TB_EXT_INFO     = 0x3,
+       IWL_RX_HE_PHY_INFO_TYPE_SU              = 0x0, /* TSF low valid (first 
DW) */
+       IWL_RX_HE_PHY_INFO_TYPE_MU              = 0x1, /* TSF low/high valid 
(both DWs) */
+       IWL_RX_HE_PHY_INFO_TYPE_MU_EXT_INFO     = 0x2, /* same + 
SIGB-common0/1/2 valid */
+       IWL_RX_HE_PHY_INFO_TYPE_TB              = 0x3, /* TSF low/high valid 
(both DWs) */
 
        /* second dword - MU data */
        IWL_RX_HE_PHY_MU_SIGB_COMPRESSION               = BIT_ULL(32 + 0),
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
index 61916f39bac2..a63a073e8562 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
@@ -1095,8 +1095,9 @@ static void iwl_mvm_decode_he_phy_data(struct iwl_mvm 
*mvm,
        }
 
        switch (FIELD_GET(IWL_RX_HE_PHY_INFO_TYPE_MASK, he_phy_data)) {
+       case IWL_RX_HE_PHY_INFO_TYPE_MU:
        case IWL_RX_HE_PHY_INFO_TYPE_MU_EXT_INFO:
-       case IWL_RX_HE_PHY_INFO_TYPE_TB_EXT_INFO:
+       case IWL_RX_HE_PHY_INFO_TYPE_TB:
                iwl_mvm_decode_he_phy_ru_alloc(he_phy_data, rate_n_flags,
                                               he, he_mu, rx_status);
                break;
-- 
2.19.0

Reply via email to