Lines Matching refs:nss
177 static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss) in ath10k_mac_get_max_vht_mcs_map() argument
179 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath10k_mac_get_max_vht_mcs_map()
190 int nss; in ath10k_mac_max_ht_nss() local
192 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--) in ath10k_mac_max_ht_nss()
193 if (ht_mcs_mask[nss]) in ath10k_mac_max_ht_nss()
194 return nss + 1; in ath10k_mac_max_ht_nss()
202 int nss; in ath10k_mac_max_vht_nss() local
204 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--) in ath10k_mac_max_vht_nss()
205 if (vht_mcs_mask[nss]) in ath10k_mac_max_vht_nss()
206 return nss + 1; in ath10k_mac_max_vht_nss()
2280 int nss; in ath10k_peer_assoc_h_ht_masked() local
2282 for (nss = 0; nss < IEEE80211_HT_MCS_MASK_LEN; nss++) in ath10k_peer_assoc_h_ht_masked()
2283 if (ht_mcs_mask[nss]) in ath10k_peer_assoc_h_ht_masked()
2292 int nss; in ath10k_peer_assoc_h_vht_masked() local
2294 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++) in ath10k_peer_assoc_h_vht_masked()
2295 if (vht_mcs_mask[nss]) in ath10k_peer_assoc_h_vht_masked()
2481 int nss; in ath10k_peer_assoc_h_vht_limit() local
2485 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++) { in ath10k_peer_assoc_h_vht_limit()
2486 mcs_map = ath10k_mac_get_max_vht_mcs_map(tx_mcs_set, nss) & in ath10k_peer_assoc_h_vht_limit()
2487 vht_mcs_limit[nss]; in ath10k_peer_assoc_h_vht_limit()
2520 tx_mcs_set &= ~(0x3 << (nss * 2)); in ath10k_peer_assoc_h_vht_limit()
2521 tx_mcs_set |= mcs << (nss * 2); in ath10k_peer_assoc_h_vht_limit()
2529 u32 nss; in get_160mhz_nss_from_maxrate() local
2533 nss = 1; in get_160mhz_nss_from_maxrate()
2536 nss = 2; in get_160mhz_nss_from_maxrate()
2539 nss = 3; /* not support MCS9 from spec*/ in get_160mhz_nss_from_maxrate()
2542 nss = 4; in get_160mhz_nss_from_maxrate()
2545 nss = 1; in get_160mhz_nss_from_maxrate()
2548 return nss; in get_160mhz_nss_from_maxrate()
5732 u16 nss = get_nss_from_chainmask(ar->cfg_tx_chainmask); in ath10k_add_interface() local
5734 vdev_param = ar->wmi.vdev_param->nss; in ath10k_add_interface()
5736 nss); in ath10k_add_interface()
5739 arvif->vdev_id, ar->cfg_tx_chainmask, nss, in ath10k_add_interface()
6720 u32 changed, bw, nss, smps; in ath10k_sta_rc_update_wk() local
6741 nss = arsta->nss; in ath10k_sta_rc_update_wk()
6748 nss = max_t(u32, 1, nss); in ath10k_sta_rc_update_wk()
6749 nss = min(nss, max(ath10k_mac_max_ht_nss(ht_mcs_mask), in ath10k_sta_rc_update_wk()
6776 sta->addr, nss); in ath10k_sta_rc_update_wk()
6779 ar->wmi.peer_param->nss, nss); in ath10k_sta_rc_update_wk()
6782 sta->addr, nss, err); in ath10k_sta_rc_update_wk()
6910 u8 *rate, u8 *nss, bool vht_only) in ath10k_mac_bitrate_mask_get_single_rate() argument
6935 *nss = 1; in ath10k_mac_bitrate_mask_get_single_rate()
6937 (*nss - 1) << 4 | in ath10k_mac_bitrate_mask_get_single_rate()
6945 *nss = i + 1; in ath10k_mac_bitrate_mask_get_single_rate()
6947 (*nss - 1) << 4 | in ath10k_mac_bitrate_mask_get_single_rate()
6957 *nss = i + 1; in ath10k_mac_bitrate_mask_get_single_rate()
6959 (*nss - 1) << 4 | in ath10k_mac_bitrate_mask_get_single_rate()
6971 u32 rate_ctrl_flag, u8 nss) in ath10k_mac_validate_rate_mask() argument
6976 if (nss > sta->deflink.rx_nss) { in ath10k_mac_validate_rate_mask()
6978 nss, sta->deflink.rx_nss); in ath10k_mac_validate_rate_mask()
7012 u8 nss, rate; in ath10k_mac_tid_bitrate_config() local
7032 &rate, &nss, false); in ath10k_mac_tid_bitrate_config()
7041 if (sta && ath10k_mac_validate_rate_mask(ar, sta, *rate_ctrl_flag, nss)) in ath10k_mac_tid_bitrate_config()
7330 u8 nss; in ath10k_sta_tid_cfg_wk() local
7386 nss = ATH10K_HW_NSS(arvif->rate_code[i]); in ath10k_sta_tid_cfg_wk()
7389 nss); in ath10k_sta_tid_cfg_wk()
8207 int *nss) in ath10k_mac_bitrate_mask_get_single_nss() argument
8247 *nss = fls(ht_nss_mask); in ath10k_mac_bitrate_mask_get_single_nss()
8253 u8 rate, u8 nss, u8 sgi, u8 ldpc) in ath10k_mac_set_fixed_rate_params() argument
8262 arvif->vdev_id, rate, nss, sgi); in ath10k_mac_set_fixed_rate_params()
8272 vdev_param = ar->wmi.vdev_param->nss; in ath10k_mac_set_fixed_rate_params()
8273 ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, nss); in ath10k_mac_set_fixed_rate_params()
8275 ath10k_warn(ar, "failed to set nss param %d: %d\n", nss, ret); in ath10k_mac_set_fixed_rate_params()
8399 u8 nss; in ath10k_mac_op_set_bitrate_mask() local
8433 &rate, &nss, in ath10k_mac_op_set_bitrate_mask()
8443 nss = single_nss; in ath10k_mac_op_set_bitrate_mask()
8446 nss = min(ar->num_rf_chains, in ath10k_mac_op_set_bitrate_mask()
8485 ret = ath10k_mac_set_fixed_rate_params(arvif, rate, nss, sgi, ldpc); in ath10k_mac_op_set_bitrate_mask()
8552 arsta->nss = sta->deflink.rx_nss; in ath10k_sta_rc_update()
9132 static void ath10k_mac_get_rate_flags_ht(struct ath10k *ar, u32 rate, u8 nss, u8 mcs, in ath10k_mac_get_rate_flags_ht() argument
9146 ((nss == 1) ? &supported_ht_mcs_rate_nss1 : in ath10k_mac_get_rate_flags_ht()
9166 rate, nss, mcs); in ath10k_mac_get_rate_flags_ht()
9170 static void ath10k_mac_get_rate_flags_vht(struct ath10k *ar, u32 rate, u8 nss, u8 mcs, in ath10k_mac_get_rate_flags_vht() argument
9176 ((nss == 1) ? &supported_vht_mcs_rate_nss1 : in ath10k_mac_get_rate_flags_vht()
9196 rate, nss, mcs); in ath10k_mac_get_rate_flags_vht()
9201 enum ath10k_phy_mode mode, u8 nss, u8 mcs, in ath10k_mac_get_rate_flags() argument
9206 ath10k_mac_get_rate_flags_ht(ar, rate, nss, mcs, flags, bw); in ath10k_mac_get_rate_flags()
9209 ath10k_mac_get_rate_flags_vht(ar, rate, nss, mcs, flags, bw); in ath10k_mac_get_rate_flags()
9218 u8 nss = WMI_TLV_GET_HW_RC_NSS_V1(rate_code) + 1; in ath10k_mac_parse_bitrate() local
9230 ath10k_mac_get_rate_flags(ar, bitrate_kbps / 100, mode, nss, mcs, &flags, &bw); in ath10k_mac_parse_bitrate()
9234 preamble, mode, nss, mcs, flags, bw); in ath10k_mac_parse_bitrate()
9239 rate->nss = nss; in ath10k_mac_parse_bitrate()
9319 if (arsta->txrate.legacy || arsta->txrate.nss) { in ath10k_sta_statistics()
9324 sinfo->txrate.nss = arsta->txrate.nss; in ath10k_sta_statistics()