/linux-6.12.1/drivers/net/wireless/marvell/mwifiex/ |
D | 11ac.c | 18 {0x124, 0x15F, 0x186}, /* NSS = 1 */ 19 {0x249, 0x2BE, 0x30C}, /* NSS = 2 */ 20 {0x36D, 0x41D, 0x492}, /* NSS = 3 */ 21 {0x492, 0x57C, 0x618}, /* NSS = 4 */ 22 {0x5B6, 0x6DB, 0x79E}, /* NSS = 5 */ 23 {0x6DB, 0x83A, 0x0}, /* NSS = 6 */ 24 {0x7FF, 0x999, 0xAAA}, /* NSS = 7 */ 25 {0x924, 0xAF8, 0xC30} /* NSS = 8 */ 29 {0x249, 0x2BE, 0x30C}, /* NSS = 1 */ 30 {0x492, 0x57C, 0x618}, /* NSS = 2 */ [all …]
|
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/mt7996/ |
D | eeprom.c | 160 u8 path, rx_path, nss, band_idx = phy->mt76->band_idx; in mt7996_eeprom_parse_hw_cap() local 172 nss = FIELD_GET(MT_EE_WIFI_CONF5_STREAM_NUM_BAND1, in mt7996_eeprom_parse_hw_cap() 180 nss = FIELD_GET(MT_EE_WIFI_CONF5_STREAM_NUM_BAND2, in mt7996_eeprom_parse_hw_cap() 188 nss = FIELD_GET(MT_EE_WIFI_CONF4_STREAM_NUM_BAND0, in mt7996_eeprom_parse_hw_cap() 196 if (!nss || nss > max_nss) in mt7996_eeprom_parse_hw_cap() 197 nss = max_nss; in mt7996_eeprom_parse_hw_cap() 199 nss = min_t(u8, nss, path); in mt7996_eeprom_parse_hw_cap() 204 mphy->antenna_mask = BIT(nss) - 1; in mt7996_eeprom_parse_hw_cap()
|
/linux-6.12.1/drivers/net/wireless/realtek/rtlwifi/ |
D | rc.c | 23 u8 nss; in _rtl_rc_get_highest_rix() local 28 nss = 4; in _rtl_rc_get_highest_rix() 31 nss = 3; in _rtl_rc_get_highest_rix() 34 nss = 2; in _rtl_rc_get_highest_rix() 37 nss = 1; in _rtl_rc_get_highest_rix() 64 if (nss == 1) in _rtl_rc_get_highest_rix() 72 nss); in _rtl_rc_get_highest_rix() 77 nss); in _rtl_rc_get_highest_rix() 86 if (nss == 1) in _rtl_rc_get_highest_rix() 94 nss); in _rtl_rc_get_highest_rix() [all …]
|
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/mt7915/ |
D | eeprom.c | 201 u8 path, nss, nss_max = 4, *eeprom = dev->mt76.eeprom.data; in mt7915_eeprom_parse_hw_cap() local 220 nss = path; in mt7915_eeprom_parse_hw_cap() 224 nss = FIELD_GET(MT_EE_WIFI_CONF3_TX_PATH_B0, in mt7915_eeprom_parse_hw_cap() 227 nss = FIELD_GET(MT_EE_WIFI_CONF3_TX_PATH_B1, in mt7915_eeprom_parse_hw_cap() 230 nss = FIELD_GET(MT_EE_WIFI_CONF_STREAM_NUM, in mt7915_eeprom_parse_hw_cap() 238 if (!nss) in mt7915_eeprom_parse_hw_cap() 239 nss = nss_max; in mt7915_eeprom_parse_hw_cap() 240 nss = min_t(u8, min_t(u8, nss_max, nss), path); in mt7915_eeprom_parse_hw_cap() 245 mphy->antenna_mask = BIT(nss) - 1; in mt7915_eeprom_parse_hw_cap()
|
D | mcu.c | 45 u8 nss; in mt7915_mcu_get_sta_nss() local 47 for (nss = 8; nss > 0; nss--) { in mt7915_mcu_get_sta_nss() 48 u8 nss_mcs = (mcs_map >> (2 * (nss - 1))) & 3; in mt7915_mcu_get_sta_nss() 54 return nss - 1; in mt7915_mcu_get_sta_nss() 65 int nss, max_nss = sta->deflink.rx_nss > 3 ? 4 : sta->deflink.rx_nss; in mt7915_mcu_set_sta_he_mcs() local 67 for (nss = 0; nss < max_nss; nss++) { in mt7915_mcu_set_sta_he_mcs() 70 switch ((mcs_map >> (2 * nss)) & 0x3) { in mt7915_mcu_set_sta_he_mcs() 84 mcs = mcs ? fls(mcs & mask[nss]) - 1 : -1; 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() [all …]
|
/linux-6.12.1/drivers/net/wireless/ath/ath11k/ |
D | debugfs_sta.c | 22 int gi, mcs, bw, nss; in ath11k_debugfs_sta_add_tx_stats() local 31 nss = txrate->nss - 1; in ath11k_debugfs_sta_add_tx_stats() 88 STATS_OP_FMT(AMPDU).nss[0][nss] += in ath11k_debugfs_sta_add_tx_stats() 94 STATS_OP_FMT(AMPDU).nss[1][nss] += in ath11k_debugfs_sta_add_tx_stats() 103 STATS_OP_FMT(SUCC).nss[0][nss] += peer_stats->succ_bytes; in ath11k_debugfs_sta_add_tx_stats() 107 STATS_OP_FMT(SUCC).nss[1][nss] += peer_stats->succ_pkts; in ath11k_debugfs_sta_add_tx_stats() 111 STATS_OP_FMT(FAIL).nss[0][nss] += peer_stats->failed_bytes; in ath11k_debugfs_sta_add_tx_stats() 115 STATS_OP_FMT(FAIL).nss[1][nss] += peer_stats->failed_pkts; in ath11k_debugfs_sta_add_tx_stats() 119 STATS_OP_FMT(RETRY).nss[0][nss] += peer_stats->retry_bytes; in ath11k_debugfs_sta_add_tx_stats() 123 STATS_OP_FMT(RETRY).nss[1][nss] += peer_stats->retry_pkts; in ath11k_debugfs_sta_add_tx_stats() [all …]
|
D | mac.c | 436 int nss; in ath11k_mac_max_ht_nss() local 438 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--) in ath11k_mac_max_ht_nss() 439 if (ht_mcs_mask[nss]) in ath11k_mac_max_ht_nss() 440 return nss + 1; in ath11k_mac_max_ht_nss() 448 int nss; in ath11k_mac_max_vht_nss() local 450 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--) in ath11k_mac_max_vht_nss() 451 if (vht_mcs_mask[nss]) in ath11k_mac_max_vht_nss() 452 return nss + 1; in ath11k_mac_max_vht_nss() 460 int nss; in ath11k_mac_max_he_nss() local 462 for (nss = NL80211_HE_NSS_MAX - 1; nss >= 0; nss--) in ath11k_mac_max_he_nss() [all …]
|
/linux-6.12.1/drivers/net/wireless/intel/iwlwifi/fw/ |
D | rs.c | 117 u32 nss = 0; in iwl_new_rate_from_v1() local 122 nss = (rate_v1 & RATE_HT_MCS_MIMO2_MSK) >> in iwl_new_rate_from_v1() 124 rate_v2 |= nss << RATE_MCS_NSS_POS; in iwl_new_rate_from_v1() 195 u8 mcs = 0, nss = 0; in rs_pretty_print_rate() local 228 nss = ((rate & RATE_MCS_NSS_MSK) in rs_pretty_print_rate() 235 "0x%x: %s | ANT: %s BW: %s MCS: %d NSS: %d %s%s%s%s%s", in rs_pretty_print_rate() 236 rate, type, iwl_rs_pretty_ant(ant), iwl_rs_pretty_bw(bw), mcs, nss, in rs_pretty_print_rate()
|
/linux-6.12.1/Documentation/devicetree/bindings/net/ |
D | ipq806x-dwmac.txt | 12 - qcom,nss-common: should contain a phandle to a syscon device mapping the 13 nss-common registers. 27 qcom,nss-common = <&nss_common>;
|
/linux-6.12.1/net/mac80211/ |
D | vht.c | 560 /* get the max nss for EHT over all possible bandwidths and mcs */ in ieee80211_sta_init_nss() 651 u8 nss; in __ieee80211_vht_handle_opmode() local 657 nss = opmode & IEEE80211_OPMODE_NOTIF_RX_NSS_MASK; in __ieee80211_vht_handle_opmode() 658 nss >>= IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT; in __ieee80211_vht_handle_opmode() 659 nss += 1; in __ieee80211_vht_handle_opmode() 661 if (link_sta->op_mode_nss != nss) { in __ieee80211_vht_handle_opmode() 662 if (nss <= link_sta->capa_nss) { in __ieee80211_vht_handle_opmode() 663 link_sta->op_mode_nss = nss; in __ieee80211_vht_handle_opmode() 665 if (nss != link_sta->pub->rx_nss) { in __ieee80211_vht_handle_opmode() 666 link_sta->pub->rx_nss = nss; in __ieee80211_vht_handle_opmode() [all …]
|
D | debugfs_sta.c | 684 struct ieee80211_he_mcs_nss_supp *nss = &hec->he_mcs_nss_supp; in link_sta_he_capa_read() local 876 PFLAG(PHY, 3, DCM_MAX_TX_NSS_1, "DCM-MAX-TX-NSS-1"); in link_sta_he_capa_read() 877 PFLAG(PHY, 3, DCM_MAX_TX_NSS_2, "DCM-MAX-TX-NSS-2"); in link_sta_he_capa_read() 894 PFLAG(PHY, 3, DCM_MAX_RX_NSS_1, "DCM-MAX-RX-NSS-1"); in link_sta_he_capa_read() 895 PFLAG(PHY, 3, DCM_MAX_RX_NSS_2, "DCM-MAX-RX-NSS-2"); in link_sta_he_capa_read() 993 u16 v = le16_to_cpu(nss->f); \ in link_sta_he_capa_read() 1058 struct ieee80211_eht_mcs_nss_supp *nss = &bec->eht_mcs_nss_supp; in link_sta_eht_capa_read() local 1123 PRINT("BEAMFORMEE-80-NSS: %i", i); in link_sta_eht_capa_read() 1124 PRINT("BEAMFORMEE-160-NSS: %i", (cap[1] >> 2) & 0x7); in link_sta_eht_capa_read() 1125 PRINT("BEAMFORMEE-320-NSS: %i", (cap[1] >> 5) & 0x7); in link_sta_eht_capa_read() [all …]
|
D | eht.c | 52 /* we calculate as if NSS > 8 are valid, but don't handle that */ in ieee80211_eht_cap_ie_to_sta_eht_cap() 64 /* Copy MCS/NSS which depends on the peer capabilities */ in ieee80211_eht_cap_ie_to_sta_eht_cap()
|
/linux-6.12.1/drivers/net/wireless/realtek/rtw88/ |
D | util.c | 82 void rtw_desc_to_mcsrate(u16 rate, u8 *mcs, u8 *nss) in rtw_desc_to_mcsrate() argument 89 *nss = 1; in rtw_desc_to_mcsrate() 93 *nss = 2; in rtw_desc_to_mcsrate() 97 *nss = 3; in rtw_desc_to_mcsrate() 101 *nss = 4; in rtw_desc_to_mcsrate()
|
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/ |
D | mt76x02_mac.c | 183 u8 phy, rate_idx, nss, bw = 0; in mt76x02_mac_tx_rate_val() local 188 nss = 1 + (rate->idx >> 4); in mt76x02_mac_tx_rate_val() 196 nss = 1 + (rate->idx >> 3); in mt76x02_mac_tx_rate_val() 215 nss = 1; in mt76x02_mac_tx_rate_val() 224 *nss_val = nss; in mt76x02_mac_tx_rate_val() 234 s8 nss; in mt76x02_mac_wcid_set_rate() local 236 rateval = mt76x02_mac_tx_rate_val(dev, rate, &nss); in mt76x02_mac_wcid_set_rate() 238 FIELD_PREP(MT_WCID_TX_INFO_NSS, nss) | in mt76x02_mac_wcid_set_rate() 346 u8 nss; in mt76x02_mac_write_txwi() local 386 nss = FIELD_GET(MT_WCID_TX_INFO_NSS, wcid_tx_info); in mt76x02_mac_write_txwi() [all …]
|
D | mt76_connac_mac.c | 12 void mt76_connac_gen_ppe_thresh(u8 *he_ppet, int nss) in mt76_connac_gen_ppe_thresh() argument 17 he_ppet[0] = FIELD_PREP(IEEE80211_PPE_THRES_NSS_MASK, nss - 1) | in mt76_connac_gen_ppe_thresh() 22 nss * hweight8(ru_bit_mask) * 2; in mt76_connac_gen_ppe_thresh() 278 for (nss = 0; i < ARRAY_SIZE(mask->control[band]._mcs); i++) { \ 287 nss = i + 1; \ 300 u8 nss = 0, mode = 0, band = chandef->chan->band; in mt76_connac2_mac_tx_rate_val() local 337 return FIELD_PREP(MT_TX_RATE_NSS, nss) | in mt76_connac2_mac_tx_rate_val() 634 rate.nss = FIELD_GET(MT_TX_RATE_NSS, txrate) + 1; in mt76_connac2_mac_fill_txs() 637 if (stbc && rate.nss > 1) in mt76_connac2_mac_fill_txs() 638 rate.nss >>= 1; in mt76_connac2_mac_fill_txs() [all …]
|
D | mt76x02_txrx.c | 67 u8 nss, idx; in mt76x02_tx_get_max_txpwr_adj() local 69 nss = ieee80211_rate_get_vht_nss(rate); in mt76x02_tx_get_max_txpwr_adj() 70 idx = ((nss - 1) << 3) + mcs; in mt76x02_tx_get_max_txpwr_adj()
|
/linux-6.12.1/drivers/net/wireless/intel/iwlwifi/mvm/ |
D | rs-fw.c | 114 int nss) in rs_fw_vht_highest_rx_mcs_index() argument 117 (0x3 << (2 * (nss - 1))); in rs_fw_vht_highest_rx_mcs_index() 118 rx_mcs >>= (2 * (nss - 1)); in rs_fw_vht_highest_rx_mcs_index() 153 int nss = i + 1; in rs_fw_vht_set_enabled_rates() local 155 highest_mcs = rs_fw_vht_highest_rx_mcs_index(vht_cap, nss); in rs_fw_vht_set_enabled_rates() 165 * Check if VHT extended NSS indicates that the bandwidth/NSS in rs_fw_vht_set_enabled_rates() 172 0, true, nss) >= nss) in rs_fw_vht_set_enabled_rates() 206 u8 nss = link_sta->rx_nss; in rs_fw_he_set_enabled_rates() local 210 nss = 1; in rs_fw_he_set_enabled_rates() 212 for (i = 0; i < nss && i < IWL_TLC_NSS_MAX; i++) { in rs_fw_he_set_enabled_rates() [all …]
|
D | rs.c | 846 u8 nss; in rs_rate_from_ucode_rate() local 883 nss = ((ucode_rate & RATE_HT_MCS_NSS_MSK_V1) >> in rs_rate_from_ucode_rate() 886 if (nss == 1) { in rs_rate_from_ucode_rate() 891 } else if (nss == 2) { in rs_rate_from_ucode_rate() 898 nss = FIELD_GET(RATE_MCS_NSS_MSK, ucode_rate) + 1; in rs_rate_from_ucode_rate() 900 if (nss == 1) { in rs_rate_from_ucode_rate() 905 } else if (nss == 2) { in rs_rate_from_ucode_rate() 912 nss = FIELD_GET(RATE_MCS_NSS_MSK, ucode_rate) + 1; in rs_rate_from_ucode_rate() 914 if (nss == 1) { in rs_rate_from_ucode_rate() 918 } else if (nss == 2) { in rs_rate_from_ucode_rate() [all …]
|
/linux-6.12.1/drivers/net/wireless/ath/ath10k/ |
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() 192 int nss; in ath10k_mac_max_ht_nss() local 194 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--) in ath10k_mac_max_ht_nss() 195 if (ht_mcs_mask[nss]) in ath10k_mac_max_ht_nss() 196 return nss + 1; in ath10k_mac_max_ht_nss() 204 int nss; in ath10k_mac_max_vht_nss() local 206 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--) in ath10k_mac_max_vht_nss() 207 if (vht_mcs_mask[nss]) in ath10k_mac_max_vht_nss() 208 return nss + 1; in ath10k_mac_max_vht_nss() [all …]
|
D | htt_rx.c | 985 u8 cck, rate, bw, sgi, mcs, nss; in ath10k_htt_rx_h_rates() local 1025 nss = mcs >> 3; in ath10k_htt_rx_h_rates() 1050 nss = (nsts_su >> 2) + 1; in ath10k_htt_rx_h_rates() 1052 nss = (nsts_su + 1); in ath10k_htt_rx_h_rates() 1065 nss = 1; in ath10k_htt_rx_h_rates() 1092 status->nss = nss; in ath10k_htt_rx_h_rates() 1294 status->nss = 0; in ath10k_htt_rx_h_ppdu() 1392 status->nss, in ath10k_process_rx() 3668 int idx, ht_idx, gi, mcs, bw, nss; in ath10k_accumulate_per_peer_tx_stats() local 3679 nss = txrate->nss; in ath10k_accumulate_per_peer_tx_stats() [all …]
|
/linux-6.12.1/drivers/net/wireless/ath/ath12k/ |
D | mac.c | 423 int nss; in ath12k_mac_max_ht_nss() local 425 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--) in ath12k_mac_max_ht_nss() 426 if (ht_mcs_mask[nss]) in ath12k_mac_max_ht_nss() 427 return nss + 1; in ath12k_mac_max_ht_nss() 435 int nss; in ath12k_mac_max_vht_nss() local 437 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--) in ath12k_mac_max_vht_nss() 438 if (vht_mcs_mask[nss]) in ath12k_mac_max_vht_nss() 439 return nss + 1; in ath12k_mac_max_vht_nss() 1067 u16 nss; in ath12k_mac_monitor_vdev_create() local 1107 nss = hweight32(ar->cfg_tx_chainmask) ? : 1; in ath12k_mac_monitor_vdev_create() [all …]
|
D | dp_mon.c | 108 ppdu_info->nss = u32_get_bits(nsts, VHT_SIG_SU_NSS_MASK); in ath12k_dp_mon_parse_vht_sig_a() 119 ppdu_info->nss); in ath12k_dp_mon_parse_vht_sig_a() 138 ppdu_info->nss = (ppdu_info->mcs >> 3); in ath12k_dp_mon_parse_ht_sig() 250 ppdu_info->nss = u32_get_bits(info0, HAL_RX_HE_SIG_B2_OFDMA_INFO_INFO0_STA_NSTS); in ath12k_dp_mon_parse_he_sig_b2_ofdma() 280 ppdu_info->nss = u32_get_bits(info0, HAL_RX_HE_SIG_B2_MU_INFO_INFO0_STA_NSTS); in ath12k_dp_mon_parse_he_sig_b2_mu() 578 ppdu_info->nss = u32_get_bits(info0, HAL_RX_HE_SIG_A_SU_INFO_INFO0_NSTS); in ath12k_dp_mon_parse_he_sig_su() 1027 rxs->nss = ppduinfo->nss + 1; in ath12k_dp_mon_update_radiotap() 1111 status->nss, in ath12k_dp_mon_rx_deliver_msdu() 1884 tx_ppdu_info->rx_status.nss = in ath12k_dp_mon_tx_parse_status_tlv() 2139 u32 nss_idx = (user_stats) ? user_stats->nss - 1 : ppdu_info->nss - 1; in ath12k_dp_mon_rx_update_peer_rate_table_stats() [all …]
|
/linux-6.12.1/drivers/net/wireless/mediatek/mt76/mt7925/ |
D | mac.c | 254 u8 stbc, gi, bw, dcm, nss; in mt7925_mac_fill_rx_rate() local 263 nss = FIELD_GET(MT_PRXV_NSTS, v0) + 1; in mt7925_mac_fill_rx_rate() 287 status->nss = nss; in mt7925_mac_fill_rx_rate() 298 status->nss = nss; in mt7925_mac_fill_rx_rate() 310 status->nss = nss; in mt7925_mac_fill_rx_rate() 926 rate.nss = FIELD_GET(MT_TX_RATE_NSS, txrate) + 1; in mt7925_mac_add_txs_skb() 929 if (stbc && rate.nss > 1) in mt7925_mac_add_txs_skb() 930 rate.nss >>= 1; in mt7925_mac_add_txs_skb() 932 if (rate.nss - 1 < ARRAY_SIZE(stats->tx_nss)) in mt7925_mac_add_txs_skb() 933 stats->tx_nss[rate.nss - 1]++; in mt7925_mac_add_txs_skb()
|
/linux-6.12.1/Documentation/devicetree/bindings/clock/ |
D | qcom,qca8k-nsscc.yaml | 7 title: Qualcomm NSS Clock & Reset Controller on QCA8386/QCA8084 14 Qualcomm NSS clock control module provides the clocks and resets
|
/linux-6.12.1/drivers/net/wireless/intel/iwlwifi/fw/api/ |
D | mac.h | 446 * The required PPE is set via HE Capabilities IE, per Nss x BW x MCS 448 * Support for Nss x BW (or RU) matrix: 457 * For each Nss/Bw define 2 QAM thrsholds (0..5) 461 * Nss (0-siso, 1-mimo2) x BW (0-20MHz, 1-40MHz, 2-80MHz, 3-160MHz) x 470 * The required PPE is set via HE Capabilities IE, per Nss x BW x MCS 472 * Support for Nss x BW (or RU) matrix: 481 * For each Nss/Bw define 2 QAM thrsholds (0..5) 485 * Nss (0-siso, 1-mimo2) x
|