]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ieee80211: change HE nominal packet padding value defines
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Fri, 26 Nov 2021 09:48:19 +0000 (10:48 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Sun, 28 Nov 2021 20:53:04 +0000 (21:53 +0100)
It's easier to use and understand, and to extend for EHT later,
if we use the values here instead of the shifted values.

Unfortunately, we need to add _POS so that we can use it in
places like iwlwifi/mvm where constants are needed.

While at it, fix the typo ("NOMIMAL") which also helps catch any
conflicts.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://lore.kernel.org/r/20211126104817.7c29a05b8eb5.I2ca9faf06e177e3035bec91e2ae53c2f91d41774@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/mediatek/mt76/mt7915/init.c
drivers/net/wireless/mediatek/mt76/mt7921/main.c
drivers/net/wireless/realtek/rtw89/core.c
drivers/net/wireless/realtek/rtw89/fw.c
include/linux/ieee80211.h
net/mac80211/debugfs_sta.c

index f470f9aea50f57451c77c61b7ffd5d6b2f0b545e..881ede4a4aa24d92cb8c067f076e2fb598c9f97d 100644 (file)
@@ -607,7 +607,8 @@ static const struct ieee80211_sband_iftype_data iwl_he_capa[] = {
                                .phy_cap_info[9] =
                                        IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB |
                                        IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB |
-                                       IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED,
+                                       (IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED <<
+                                       IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS),
                                .phy_cap_info[10] =
                                        IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF,
                        },
@@ -664,7 +665,8 @@ static const struct ieee80211_sband_iftype_data iwl_he_capa[] = {
                                        IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI |
                                        IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_242,
                                .phy_cap_info[9] =
-                                       IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED,
+                                       IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED
+                                       << IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS,
                        },
                        /*
                         * Set default Tx/Rx HE MCS NSS Support field.
index 9fb9c7dad314f1bcbbf6e4f67645befdb3d31d08..b96ccabd1596179310f27af861a4ed625daefac9 100644 (file)
@@ -2126,24 +2126,24 @@ static void iwl_mvm_cfg_he_sta(struct iwl_mvm *mvm,
                }
 
                flags |= STA_CTXT_HE_PACKET_EXT;
-       } else if ((sta->he_cap.he_cap_elem.phy_cap_info[9] &
-                   IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_MASK) !=
-                 IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED) {
+       } else if (u8_get_bits(sta->he_cap.he_cap_elem.phy_cap_info[9],
+                              IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK)
+                  != IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED) {
                int low_th = -1;
                int high_th = -1;
 
                /* Take the PPE thresholds from the nominal padding info */
-               switch (sta->he_cap.he_cap_elem.phy_cap_info[9] &
-                       IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_MASK) {
-               case IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_0US:
+               switch (u8_get_bits(sta->he_cap.he_cap_elem.phy_cap_info[9],
+                                   IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK)) {
+               case IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US:
                        low_th = IWL_HE_PKT_EXT_NONE;
                        high_th = IWL_HE_PKT_EXT_NONE;
                        break;
-               case IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_8US:
+               case IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US:
                        low_th = IWL_HE_PKT_EXT_BPSK;
                        high_th = IWL_HE_PKT_EXT_NONE;
                        break;
-               case IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US:
+               case IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US:
                        low_th = IWL_HE_PKT_EXT_NONE;
                        high_th = IWL_HE_PKT_EXT_BPSK;
                        break;
index 4fa8e7ba93e6dcd645fd94eefe3513a9c07bff8c..d054cdecd5f70421635df6a3cd9327973aae0c1f 100644 (file)
@@ -853,7 +853,8 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
                        mt7915_gen_ppe_thresh(he_cap->ppe_thres, nss);
                } else {
                        he_cap_elem->phy_cap_info[9] |=
-                               IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US;
+                               u8_encode_bits(IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US,
+                                              IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK);
                }
                idx++;
        }
index 633c6d2a57acd71fa451ec6e78b423ef5efddb7a..e2eef9b5f63b7f794b1a2b64099245edc34e207e 100644 (file)
@@ -140,7 +140,8 @@ mt7921_init_he_caps(struct mt7921_phy *phy, enum nl80211_band band,
                        mt7921_gen_ppe_thresh(he_cap->ppe_thres, nss);
                } else {
                        he_cap_elem->phy_cap_info[9] |=
-                               IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US;
+                               u8_encode_bits(IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US,
+                                              IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK);
                }
 
                if (band == NL80211_BAND_6GHZ) {
index d02ec5a735cb1544651fd7529157a359662763e8..2bbe77ae7713e76b114a6e746f083c18a304d4af 100644 (file)
@@ -2115,7 +2115,8 @@ static void rtw89_init_he_cap(struct rtw89_dev *rtwdev,
                                  IEEE80211_HE_PHY_CAP9_RX_1024_QAM_LESS_THAN_242_TONE_RU |
                                  IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB |
                                  IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB |
-                                 IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US;
+                                 u8_encode_bits(IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US,
+                                                IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK);
                if (i == NL80211_IFTYPE_STATION)
                        phy_cap_info[9] |= IEEE80211_HE_PHY_CAP9_TX_1024_QAM_LESS_THAN_242_TONE_RU;
                he_cap->he_mcs_nss_supp.rx_mcs_80 = cpu_to_le16(mcs_map);
index 212aaf577d3c5eca878c0793749f142720658a0f..460d63dd67790e80502422a4881147bd9f212804 100644 (file)
@@ -780,7 +780,7 @@ static void __get_sta_he_pkt_padding(struct rtw89_dev *rtwdev,
        if (!ppe_th) {
                u8 pad;
 
-               pad = FIELD_GET(IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_MASK,
+               pad = FIELD_GET(IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK,
                                sta->he_cap.he_cap_elem.phy_cap_info[9]);
 
                for (i = 0; i < RTW89_PPE_BW_NUM; i++)
index 11d7af260f201fa07c03126659e86167f7ac4827..559b6c6449384d228c9902635846f7b6ee6f9020 100644 (file)
@@ -2258,11 +2258,12 @@ enum ieee80211_client_reg_power {
 #define IEEE80211_HE_PHY_CAP9_RX_1024_QAM_LESS_THAN_242_TONE_RU                0x08
 #define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB    0x10
 #define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB        0x20
-#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_0US                  0x00
-#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_8US                  0x40
-#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US                 0x80
-#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_RESERVED             0xc0
-#define IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_MASK                 0xc0
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US                  0x0
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US                  0x1
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US                 0x2
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED             0x3
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS                  6
+#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK                 0xc0
 
 #define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF                      0x01
 
index 481f01b0f65cca2b75902582a3601696d648e104..9479f2787ea79a1c466dddcea98de53d6b0a722e 100644 (file)
@@ -936,14 +936,15 @@ static ssize_t sta_he_capa_read(struct file *file, char __user *userbuf,
        PFLAG(PHY, 9, RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB,
              "RX-FULL-BW-SU-USING-MU-WITH-NON-COMP-SIGB");
 
-       switch (cap[9] & IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_MASK) {
-       case IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_0US:
+       switch (u8_get_bits(cap[9],
+                           IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK)) {
+       case IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US:
                PRINT("NOMINAL-PACKET-PADDING-0US");
                break;
-       case IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_8US:
+       case IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US:
                PRINT("NOMINAL-PACKET-PADDING-8US");
                break;
-       case IEEE80211_HE_PHY_CAP9_NOMIMAL_PKT_PADDING_16US:
+       case IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US:
                PRINT("NOMINAL-PACKET-PADDING-16US");
                break;
        }