| /linux-6.15/drivers/net/wireless/marvell/mwifiex/ |
| H A D | 11ac.c | 44 u8 bands, u16 mcs_map) in mwifiex_convert_mcsmap_to_maxrate() argument 59 mcs = GET_VHTNSSMCS(mcs_map, i); in mwifiex_convert_mcsmap_to_maxrate() 63 mcs = GET_VHTNSSMCS(mcs_map, nss); in mwifiex_convert_mcsmap_to_maxrate()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/mt7996/ |
| H A D | mcu.c | 106 mt7996_mcu_get_sta_nss(u16 mcs_map) in mt7996_mcu_get_sta_nss() argument 111 u8 nss_mcs = (mcs_map >> (2 * (nss - 1))) & 3; in mt7996_mcu_get_sta_nss() 123 __le16 *he_mcs, u16 mcs_map) in mt7996_mcu_set_sta_he_mcs() argument 132 switch ((mcs_map >> (2 * nss)) & 0x3) { in mt7996_mcu_set_sta_he_mcs() 162 mcs_map &= ~(0x3 << (nss * 2)); in mt7996_mcu_set_sta_he_mcs() 163 mcs_map |= mcs << (nss * 2); in mt7996_mcu_set_sta_he_mcs() 166 *he_mcs = cpu_to_le16(mcs_map); in mt7996_mcu_set_sta_he_mcs() 177 switch (mcs_map & 0x3) { in mt7996_mcu_set_sta_vht_mcs() 1185 struct ieee80211_he_mcs_nss_supp mcs_map; in mt7996_mcu_sta_he_tlv() local 1213 le16_to_cpu(mcs_map.rx_mcs_160)); in mt7996_mcu_sta_he_tlv() [all …]
|
| H A D | init.c | 1177 u16 mcs_map = 0; in mt7996_init_he_caps() local 1181 mcs_map |= (IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2)); in mt7996_init_he_caps() 1183 mcs_map |= (IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2)); in mt7996_init_he_caps() 1265 he_mcs->rx_mcs_80 = cpu_to_le16(mcs_map); in mt7996_init_he_caps() 1266 he_mcs->tx_mcs_80 = cpu_to_le16(mcs_map); in mt7996_init_he_caps() 1267 he_mcs->rx_mcs_160 = cpu_to_le16(mcs_map); in mt7996_init_he_caps() 1268 he_mcs->tx_mcs_160 = cpu_to_le16(mcs_map); in mt7996_init_he_caps()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/mt7915/ |
| H A D | mcu.c | 43 mt7915_mcu_get_sta_nss(u16 mcs_map) in mt7915_mcu_get_sta_nss() argument 48 u8 nss_mcs = (mcs_map >> (2 * (nss - 1))) & 3; in mt7915_mcu_get_sta_nss() 59 u16 mcs_map) in mt7915_mcu_set_sta_he_mcs() argument 70 switch ((mcs_map >> (2 * nss)) & 0x3) { in mt7915_mcu_set_sta_he_mcs() 100 mcs_map &= ~(0x3 << (nss * 2)); in mt7915_mcu_set_sta_he_mcs() 101 mcs_map |= mcs << (nss * 2); in mt7915_mcu_set_sta_he_mcs() 109 *he_mcs = cpu_to_le16(mcs_map); in mt7915_mcu_set_sta_he_mcs() 123 switch (mcs_map & 0x3) { in mt7915_mcu_set_sta_vht_mcs() 749 struct ieee80211_he_mcs_nss_supp mcs_map; in mt7915_mcu_sta_he_tlv() local 851 le16_to_cpu(mcs_map.rx_mcs_160)); in mt7915_mcu_sta_he_tlv() [all …]
|
| H A D | init.c | 986 u16 mcs_map = 0; in mt7915_init_he_caps() local 1001 mcs_map |= (IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2)); in mt7915_init_he_caps() 1003 mcs_map |= (IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2)); in mt7915_init_he_caps() 1119 he_mcs->rx_mcs_80 = cpu_to_le16(mcs_map); in mt7915_init_he_caps() 1120 he_mcs->tx_mcs_80 = cpu_to_le16(mcs_map); in mt7915_init_he_caps()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/mt7921/ |
| H A D | main.c | 18 u16 mcs_map = 0; in mt7921_init_he_caps() local 22 mcs_map |= (IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2)); in mt7921_init_he_caps() 24 mcs_map |= (IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2)); in mt7921_init_he_caps() 140 he_mcs->rx_mcs_80 = cpu_to_le16(mcs_map); in mt7921_init_he_caps() 141 he_mcs->tx_mcs_80 = cpu_to_le16(mcs_map); in mt7921_init_he_caps() 143 he_mcs->rx_mcs_160 = cpu_to_le16(mcs_map); in mt7921_init_he_caps() 144 he_mcs->tx_mcs_160 = cpu_to_le16(mcs_map); in mt7921_init_he_caps()
|
| /linux-6.15/drivers/net/wireless/realtek/rtlwifi/ |
| H A D | base.c | 230 u16 mcs_map; in _rtl_init_hw_vht_capab() local 246 mcs_map = IEEE80211_VHT_MCS_SUPPORT_0_9 << 0 | in _rtl_init_hw_vht_capab() 255 vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map); in _rtl_init_hw_vht_capab() 258 vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map); in _rtl_init_hw_vht_capab() 262 u16 mcs_map; in _rtl_init_hw_vht_capab() local 278 mcs_map = IEEE80211_VHT_MCS_SUPPORT_0_9 << 0 | in _rtl_init_hw_vht_capab() 287 vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map); in _rtl_init_hw_vht_capab() 290 vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map); in _rtl_init_hw_vht_capab()
|
| /linux-6.15/drivers/net/wireless/realtek/rtw88/ |
| H A D | main.c | 1010 u16 mcs_map = le16_to_cpu(sta->deflink.vht_cap.vht_mcs.rx_mcs_map); in get_vht_ra_mask() local 1015 for (i = 0, nss = 12; i < 4; i++, mcs_map >>= 2, nss += 10) { in get_vht_ra_mask() 1016 vht_mcs_cap = mcs_map & 0x3; in get_vht_ra_mask() 1599 u16 mcs_map = 0; in rtw_init_vht_cap() local 1626 mcs_map |= IEEE80211_VHT_MCS_SUPPORT_0_9 << (i * 2); in rtw_init_vht_cap() 1628 mcs_map |= IEEE80211_VHT_MCS_NOT_SUPPORTED << (i * 2); in rtw_init_vht_cap() 1633 vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map); in rtw_init_vht_cap() 1634 vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map); in rtw_init_vht_cap()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/mt7925/ |
| H A D | main.c | 23 u16 mcs_map = 0; in mt7925_init_he_caps() local 27 mcs_map |= (IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2)); in mt7925_init_he_caps() 29 mcs_map |= (IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2)); in mt7925_init_he_caps() 124 he_mcs->rx_mcs_80 = cpu_to_le16(mcs_map); in mt7925_init_he_caps() 125 he_mcs->tx_mcs_80 = cpu_to_le16(mcs_map); in mt7925_init_he_caps() 126 he_mcs->rx_mcs_160 = cpu_to_le16(mcs_map); in mt7925_init_he_caps() 127 he_mcs->tx_mcs_160 = cpu_to_le16(mcs_map); in mt7925_init_he_caps()
|
| H A D | mcu.c | 1595 struct ieee80211_eht_mcs_nss_supp *mcs_map; in mt7925_mcu_sta_eht_tlv() local 1603 mcs_map = &link_sta->eht_cap.eht_mcs_nss_supp; in mt7925_mcu_sta_eht_tlv() 1615 memcpy(eht->mcs_map_bw20, &mcs_map->only_20mhz, sizeof(eht->mcs_map_bw20)); in mt7925_mcu_sta_eht_tlv() 1616 memcpy(eht->mcs_map_bw80, &mcs_map->bw._80, sizeof(eht->mcs_map_bw80)); in mt7925_mcu_sta_eht_tlv() 1617 memcpy(eht->mcs_map_bw160, &mcs_map->bw._160, sizeof(eht->mcs_map_bw160)); in mt7925_mcu_sta_eht_tlv()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/ |
| H A D | mac80211.c | 258 u16 mcs_map = 0; in mt76_init_stream_cap() local 281 mcs_map |= (IEEE80211_VHT_MCS_SUPPORT_0_9 << (i * 2)); in mt76_init_stream_cap() 283 mcs_map |= in mt76_init_stream_cap() 286 vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map); in mt76_init_stream_cap() 287 vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map); in mt76_init_stream_cap()
|
| /linux-6.15/drivers/net/wireless/realtek/rtw89/ |
| H A D | phy.c | 53 static u64 get_mcs_ra_mask(u16 mcs_map, u8 highest_mcs, u8 gap) in get_mcs_ra_mask() argument 59 for (i = 0, nss = 12; i < 4; i++, mcs_map >>= 2, nss += 12) { in get_mcs_ra_mask() 60 mcs_cap = mcs_map & 0x3; in get_mcs_ra_mask() 82 u16 mcs_map; in get_he_ra_mask() local 88 mcs_map = le16_to_cpu(cap.he_mcs_nss_supp.rx_mcs_80p80); in get_he_ra_mask() 90 mcs_map = le16_to_cpu(cap.he_mcs_nss_supp.rx_mcs_160); in get_he_ra_mask() 93 mcs_map = le16_to_cpu(cap.he_mcs_nss_supp.rx_mcs_80); in get_he_ra_mask() 97 return get_mcs_ra_mask(mcs_map, 11, 2); in get_he_ra_mask() 358 u16 mcs_map = le16_to_cpu(link_sta->vht_cap.vht_mcs.rx_mcs_map); in rtw89_phy_ra_sta_update() local 364 ra_mask |= get_mcs_ra_mask(mcs_map, 8, 1); in rtw89_phy_ra_sta_update() [all …]
|
| H A D | core.c | 4172 u16 mcs_map = 0; in rtw89_init_he_cap() local 4177 mcs_map |= IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2); in rtw89_init_he_cap() 4179 mcs_map |= IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2); in rtw89_init_he_cap() 4249 he_cap->he_mcs_nss_supp.rx_mcs_80 = cpu_to_le16(mcs_map); in rtw89_init_he_cap() 4250 he_cap->he_mcs_nss_supp.tx_mcs_80 = cpu_to_le16(mcs_map); in rtw89_init_he_cap() 4252 he_cap->he_mcs_nss_supp.rx_mcs_160 = cpu_to_le16(mcs_map); in rtw89_init_he_cap() 4253 he_cap->he_mcs_nss_supp.tx_mcs_160 = cpu_to_le16(mcs_map); in rtw89_init_he_cap()
|
| /linux-6.15/drivers/net/wireless/ath/ath10k/ |
| H A D | mac.c | 179 static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss) in ath10k_mac_get_max_vht_mcs_map() argument 181 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath10k_mac_get_max_vht_mcs_map() 2477 u16 mcs_map; in ath10k_peer_assoc_h_vht_limit() local 2484 if (mcs_map) in ath10k_peer_assoc_h_vht_limit() 2485 idx_limit = fls(mcs_map) - 1; in ath10k_peer_assoc_h_vht_limit() 4867 u16 mcs_map; in ath10k_create_vht_cap() local 4892 mcs_map = 0; in ath10k_create_vht_cap() 4895 mcs_map |= IEEE80211_VHT_MCS_SUPPORT_0_9 << (i * 2); in ath10k_create_vht_cap() 4897 mcs_map |= IEEE80211_VHT_MCS_NOT_SUPPORTED << (i * 2); in ath10k_create_vht_cap() 4903 vht_cap.vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map); in ath10k_create_vht_cap() [all …]
|
| /linux-6.15/drivers/net/wireless/ath/ath11k/ |
| H A D | mac.c | 2057 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath11k_mac_get_max_vht_mcs_map() 2071 u16 mcs_map; in ath11k_peer_assoc_h_vht_limit() local 2075 mcs_map = ath11k_mac_get_max_vht_mcs_map(tx_mcs_set, nss) & in ath11k_peer_assoc_h_vht_limit() 2078 if (mcs_map) in ath11k_peer_assoc_h_vht_limit() 2079 idx_limit = fls(mcs_map) - 1; in ath11k_peer_assoc_h_vht_limit() 2275 static int ath11k_mac_get_max_he_mcs_map(u16 mcs_map, int nss) in ath11k_mac_get_max_he_mcs_map() argument 2277 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath11k_mac_get_max_he_mcs_map() 2290 u16 mcs_map; in ath11k_peer_assoc_h_he_limit() local 2294 mcs_map = ath11k_mac_get_max_he_mcs_map(tx_mcs_set, nss) & in ath11k_peer_assoc_h_he_limit() 2297 if (mcs_map) in ath11k_peer_assoc_h_he_limit() [all …]
|
| /linux-6.15/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
| H A D | cfg80211.c | 7221 u16 mcs_map; in brcmf_get_mcs_map() local 7224 for (i = 0, mcs_map = 0xFFFF; i < nchain; i++) in brcmf_get_mcs_map() 7225 mcs_map = (mcs_map << 2) | supp; in brcmf_get_mcs_map() 7227 return cpu_to_le16(mcs_map); in brcmf_get_mcs_map() 7234 __le16 mcs_map; in brcmf_update_vht_cap() local 7248 mcs_map = brcmf_get_mcs_map(nchain, IEEE80211_VHT_MCS_SUPPORT_0_9); in brcmf_update_vht_cap() 7249 band->vht_cap.vht_mcs.rx_mcs_map = mcs_map; in brcmf_update_vht_cap() 7250 band->vht_cap.vht_mcs.tx_mcs_map = mcs_map; in brcmf_update_vht_cap()
|
| /linux-6.15/net/mac80211/ |
| H A D | rc80211_minstrel_ht.c | 287 minstrel_get_valid_vht_rates(int bw, int nss, __le16 mcs_map) in minstrel_get_valid_vht_rates() argument 303 switch ((le16_to_cpu(mcs_map) >> (2 * (nss - 1))) & 3) { in minstrel_get_valid_vht_rates()
|
| /linux-6.15/drivers/net/wireless/ath/ath12k/ |
| H A D | mac.c | 2198 static int ath12k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss) in ath12k_mac_get_max_vht_mcs_map() argument 2200 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath12k_mac_get_max_vht_mcs_map() 2214 u16 mcs_map; in ath12k_peer_assoc_h_vht_limit() local 2218 mcs_map = ath12k_mac_get_max_vht_mcs_map(tx_mcs_set, nss) & in ath12k_peer_assoc_h_vht_limit() 2221 if (mcs_map) in ath12k_peer_assoc_h_vht_limit() 2222 idx_limit = fls(mcs_map) - 1; in ath12k_peer_assoc_h_vht_limit()
|