Commit 8a07e8d4 authored by Johannes Berg's avatar Johannes Berg Committed by Luca Coelho
Browse files

iwlwifi: mvm: decode HE information for MU (without ext info)



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: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 755384b3
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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),
+2 −1
Original line number Diff line number Diff line
@@ -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;