]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
iwlwifi: mvm: decode HE information for MU (without ext info)
authorJohannes Berg <johannes.berg@intel.com>
Tue, 19 Jun 2018 07:21:58 +0000 (09:21 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Sat, 6 Oct 2018 07:25:53 +0000 (10:25 +0300)
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.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/rx.h
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c

index 415b8842b426809f24f02e5f1fa029879cdb03c9..0537496b6eb19f58ad0796495356a4953bf4da3c 100644 (file)
@@ -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),
index 61916f39bac27d6e9ebdb9215424144b40379201..a63a073e8562e55e460f6e063d38a72883d6e1f2 100644 (file)
@@ -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;