Lines Matching full:nss
503 int nss; in ath12k_mac_max_ht_nss() local
505 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--) in ath12k_mac_max_ht_nss()
506 if (ht_mcs_mask[nss]) in ath12k_mac_max_ht_nss()
507 return nss + 1; in ath12k_mac_max_ht_nss()
515 int nss; in ath12k_mac_max_vht_nss() local
517 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--) in ath12k_mac_max_vht_nss()
518 if (vht_mcs_mask[nss]) in ath12k_mac_max_vht_nss()
519 return nss + 1; in ath12k_mac_max_vht_nss()
527 int nss; in ath12k_mac_max_he_nss() local
529 for (nss = NL80211_HE_NSS_MAX - 1; nss >= 0; nss--) in ath12k_mac_max_he_nss()
530 if (he_mcs_mask[nss]) in ath12k_mac_max_he_nss()
531 return nss + 1; in ath12k_mac_max_he_nss()
2014 int nss; in ath12k_peer_assoc_h_ht_masked() local
2016 for (nss = 0; nss < IEEE80211_HT_MCS_MASK_LEN; nss++) in ath12k_peer_assoc_h_ht_masked()
2017 if (ht_mcs_mask[nss]) in ath12k_peer_assoc_h_ht_masked()
2026 int nss; in ath12k_peer_assoc_h_vht_masked() local
2028 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++) in ath12k_peer_assoc_h_vht_masked()
2029 if (vht_mcs_mask[nss]) in ath12k_peer_assoc_h_vht_masked()
2146 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n", in ath12k_peer_assoc_h_ht()
2152 static int ath12k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss) in ath12k_mac_get_max_vht_mcs_map() argument
2154 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath12k_mac_get_max_vht_mcs_map()
2167 int nss; in ath12k_peer_assoc_h_vht_limit() local
2171 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++) { in ath12k_peer_assoc_h_vht_limit()
2172 mcs_map = ath12k_mac_get_max_vht_mcs_map(tx_mcs_set, nss) & in ath12k_peer_assoc_h_vht_limit()
2173 vht_mcs_limit[nss]; in ath12k_peer_assoc_h_vht_limit()
2205 tx_mcs_set &= ~(0x3 << (nss * 2)); in ath12k_peer_assoc_h_vht_limit()
2206 tx_mcs_set |= mcs << (nss * 2); in ath12k_peer_assoc_h_vht_limit()
2232 ath12k_warn(ar->ab, "invalid nss ratio received from fw: %d\n", in ath12k_get_nss_160mhz()
2324 "Setting vht range MCS value to peer supported nss:%d for peer %pM\n", in ath12k_peer_assoc_h_vht()
2329 /* Calculate peer NSS capability from VHT capabilities if STA in ath12k_peer_assoc_h_vht()
2382 static int ath12k_mac_get_max_he_mcs_map(u16 mcs_map, int nss) in ath12k_mac_get_max_he_mcs_map() argument
2384 switch ((mcs_map >> (2 * nss)) & 0x3) { in ath12k_mac_get_max_he_mcs_map()
2396 int nss; in ath12k_peer_assoc_h_he_limit() local
2400 for (nss = 0; nss < NL80211_HE_NSS_MAX; nss++) { in ath12k_peer_assoc_h_he_limit()
2401 mcs_map = ath12k_mac_get_max_he_mcs_map(tx_mcs_set, nss) & in ath12k_peer_assoc_h_he_limit()
2402 he_mcs_limit[nss]; in ath12k_peer_assoc_h_he_limit()
2429 tx_mcs_set &= ~(0x3 << (nss * 2)); in ath12k_peer_assoc_h_he_limit()
2430 tx_mcs_set |= mcs << (nss * 2); in ath12k_peer_assoc_h_he_limit()
2439 int nss; in ath12k_peer_assoc_h_he_masked() local
2441 for (nss = 0; nss < NL80211_HE_NSS_MAX; nss++) in ath12k_peer_assoc_h_he_masked()
2442 if (he_mcs_mask[nss]) in ath12k_peer_assoc_h_he_masked()
2506 /* Supported HE-MCS and NSS Set of peer he_cap is intersection with self he_cp */ in ath12k_peer_assoc_h_he()
2573 int nss, ru; in ath12k_peer_assoc_h_he() local
2582 for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) { in ath12k_peer_assoc_h_he()
2595 arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |= in ath12k_peer_assoc_h_he()
2620 "Setting he range MCS value to peer supported nss:%d for peer %pM\n", in ath12k_peer_assoc_h_he()
2652 /* Calculate peer NSS capability from HE capabilities if STA in ath12k_peer_assoc_h_he()
2660 * to find nss. in ath12k_peer_assoc_h_he()
2687 "mac he peer %pM nss %d mcs cnt %d nss_override 0x%x\n", in ath12k_peer_assoc_h_he()
3142 u8 nss, ru, i; in ath12k_mac_set_eht_ppe_threshold() local
3149 for (nss = 0; nss <= ppet->numss_m1; nss++) { in ath12k_mac_set_eht_ppe_threshold()
3162 ppet->ppet16_ppet8_ru3_ru0[nss] |= in ath12k_mac_set_eht_ppe_threshold()
5728 u8 vht_rate, nss; in ath12k_mac_set_peer_vht_fixed_rate() local
5734 nss = 0; in ath12k_mac_set_peer_vht_fixed_rate()
5738 nss = i + 1; in ath12k_mac_set_peer_vht_fixed_rate()
5743 if (!nss) { in ath12k_mac_set_peer_vht_fixed_rate()
5753 rate_code = ATH12K_HW_RATE_CODE(vht_rate, nss - 1, in ath12k_mac_set_peer_vht_fixed_rate()
5774 u8 he_rate, nss; in ath12k_mac_set_peer_he_fixed_rate() local
5783 nss = 0; in ath12k_mac_set_peer_he_fixed_rate()
5787 nss = i + 1; in ath12k_mac_set_peer_he_fixed_rate()
5792 if (!nss) { in ath12k_mac_set_peer_he_fixed_rate()
5798 /* Avoid updating invalid nss as fixed rate*/ in ath12k_mac_set_peer_he_fixed_rate()
5799 if (nss > sta->deflink.rx_nss) in ath12k_mac_set_peer_he_fixed_rate()
5806 rate_code = ATH12K_HW_RATE_CODE(he_rate, nss - 1, in ath12k_mac_set_peer_he_fixed_rate()
5856 "invalid peer NSS %d\n", peer_arg->peer_nss); in ath12k_mac_station_assoc()
5880 * Note that all other rates and NSS will be disabled for this peer. in ath12k_mac_station_assoc()
5961 u32 changed, bw, nss, mac_nss, smps, bw_prev; in ath12k_sta_rc_update_wk() local
5991 nss = arsta->nss; in ath12k_sta_rc_update_wk()
5996 nss = max_t(u32, 1, nss); in ath12k_sta_rc_update_wk()
6000 nss = min(nss, mac_nss); in ath12k_sta_rc_update_wk()
6058 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "mac update sta %pM nss %d\n", in ath12k_sta_rc_update_wk()
6059 arsta->addr, nss); in ath12k_sta_rc_update_wk()
6062 WMI_PEER_NSS, nss); in ath12k_sta_rc_update_wk()
6064 ath12k_warn(ar->ab, "failed to update STA %pM nss %d: %d\n", in ath12k_sta_rc_update_wk()
6065 arsta->addr, nss, err); in ath12k_sta_rc_update_wk()
7209 "mac sta rc update for %pM changed %08x bw %d nss %d smps %d\n", in ath12k_mac_op_link_sta_rc_update()
7222 arsta->nss = link_sta->rx_nss; in ath12k_mac_op_link_sta_rc_update()
7696 /* Check if the HW supports 1:1 NSS ratio and reset in ath12k_create_vht_cap()
7697 * EXT NSS BW Support field to 0 to indicate 1:1 ratio in ath12k_create_vht_cap()
7752 int nss, ru; in ath12k_gen_ppe_thresh() local
7759 for (nss = 0; nss <= fw_ppet->numss_m1; nss++) { in ath12k_gen_ppe_thresh()
7766 val = (fw_ppet->ppet16_ppet8_ru3_ru0[nss] >> (ru * 6)) & in ath12k_gen_ppe_thresh()
8009 u8 i, nss, ru, ppet_bit_len_per_ru = IEEE80211_EHT_PPE_THRES_INFO_PPET_SIZE * 2; in ath12k_mac_copy_eht_ppe_thresh() local
8017 for (nss = 0; nss <= fw_ppet->numss_m1; nss++) { in ath12k_mac_copy_eht_ppe_thresh()
8026 u32p_replace_bits(&val, fw_ppet->ppet16_ppet8_ru3_ru0[nss] >> in ath12k_mac_copy_eht_ppe_thresh()
9677 u16 nss; in ath12k_mac_vdev_create() local
9747 nss = hweight32(ar->cfg_tx_chainmask) ? : 1; in ath12k_mac_vdev_create()
9749 WMI_VDEV_PARAM_NSS, nss); in ath12k_mac_vdev_create()
9751 ath12k_warn(ab, "failed to set vdev %d chainmask 0x%x, nss %d :%d\n", in ath12k_mac_vdev_create()
9752 arvif->vdev_id, ar->cfg_tx_chainmask, nss, ret); in ath12k_mac_vdev_create()
11870 int *nss) in ath12k_mac_bitrate_mask_get_single_nss() argument
11931 *nss = fls(ht_nss_mask); in ath12k_mac_bitrate_mask_get_single_nss()
11940 u32 *rate, u8 *nss) in ath12k_mac_get_single_legacy_rate() argument
11963 *nss = 1; in ath12k_mac_get_single_legacy_rate()
12071 u32 rate, u8 nss, u8 sgi, u8 ldpc, in ath12k_mac_set_rate_params() argument
12090 "mac set rate params vdev %i rate 0x%02x nss 0x%02x sgi 0x%02x ldpc 0x%02x\n", in ath12k_mac_set_rate_params()
12091 arvif->vdev_id, rate, nss, sgi, ldpc); in ath12k_mac_set_rate_params()
12111 vdev_param, nss); in ath12k_mac_set_rate_params()
12113 ath12k_warn(ar->ab, "failed to set nss param %d: %d\n", in ath12k_mac_set_rate_params()
12114 nss, ret); in ath12k_mac_set_rate_params()
12318 u8 nss, mac_nss; in ath12k_mac_op_set_bitrate_mask() local
12361 &nss); in ath12k_mac_op_set_bitrate_mask()
12374 nss = single_nss; in ath12k_mac_op_set_bitrate_mask()
12386 "failed to update fixed rate settings due to mcs/nss incompatibility\n"); in ath12k_mac_op_set_bitrate_mask()
12391 nss = min_t(u32, ar->num_tx_chains, mac_nss); in ath12k_mac_op_set_bitrate_mask()
12448 ret = ath12k_mac_set_rate_params(arvif, rate, nss, sgi, ldpc, he_gi, in ath12k_mac_op_set_bitrate_mask()
12678 if (arsta->txrate.legacy || arsta->txrate.nss) { in ath12k_mac_op_sta_statistics()
12683 sinfo->txrate.nss = arsta->txrate.nss; in ath12k_mac_op_sta_statistics()
12767 if (arsta->txrate.legacy || arsta->txrate.nss) { in ath12k_mac_op_link_sta_statistics()
12772 link_sinfo->txrate.nss = arsta->txrate.nss; in ath12k_mac_op_link_sta_statistics()