| From ced474b1da2f2c5f57983882f12818be4dfe957b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 9 Feb 2025 14:34:50 +0200 |
| Subject: wifi: iwlwifi: mvm: use the right version of the rate API |
| |
| From: Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
| |
| [ Upstream commit a03e2082e678ea10d0d8bdf3ed933eb05a8ddbb0 ] |
| |
| The firmware uses the newer version of the API in recent devices. For |
| older devices, we translate the rate to the new format. |
| Don't parse the rate with old parsing macros. |
| |
| Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> |
| Reviewed-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> |
| Link: https://patch.msgid.link/20250209143303.13d70cdcbb4e.Ic92193bce4013b70a823cfef250ee79c16cf7c17@changeid |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c |
| index 105f283b777d2..fce8950007bbb 100644 |
| --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c |
| +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c |
| @@ -1272,7 +1272,7 @@ iwl_mvm_decode_he_phy_ru_alloc(struct iwl_mvm_rx_phy_data *phy_data, |
| */ |
| u8 ru = le32_get_bits(phy_data->d1, IWL_RX_PHY_DATA1_HE_RU_ALLOC_MASK); |
| u32 rate_n_flags = phy_data->rate_n_flags; |
| - u32 he_type = rate_n_flags & RATE_MCS_HE_TYPE_MSK_V1; |
| + u32 he_type = rate_n_flags & RATE_MCS_HE_TYPE_MSK; |
| u8 offs = 0; |
| |
| rx_status->bw = RATE_INFO_BW_HE_RU; |
| @@ -1327,13 +1327,13 @@ iwl_mvm_decode_he_phy_ru_alloc(struct iwl_mvm_rx_phy_data *phy_data, |
| |
| if (he_mu) |
| he_mu->flags2 |= |
| - le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK_V1, |
| + le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK, |
| rate_n_flags), |
| IEEE80211_RADIOTAP_HE_MU_FLAGS2_BW_FROM_SIG_A_BW); |
| - else if (he_type == RATE_MCS_HE_TYPE_TRIG_V1) |
| + else if (he_type == RATE_MCS_HE_TYPE_TRIG) |
| he->data6 |= |
| cpu_to_le16(IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_KNOWN) | |
| - le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK_V1, |
| + le16_encode_bits(FIELD_GET(RATE_MCS_CHAN_WIDTH_MSK, |
| rate_n_flags), |
| IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW); |
| } |
| -- |
| 2.39.5 |
| |