Lines Matching refs:nss
177 static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss)
179 switch ((mcs_map >> (2 * nss)) & 0x3) {
190 int nss;
192 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--)
193 if (ht_mcs_mask[nss])
194 return nss + 1;
202 int nss;
204 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--)
205 if (vht_mcs_mask[nss])
206 return nss + 1;
2280 int nss;
2282 for (nss = 0; nss < IEEE80211_HT_MCS_MASK_LEN; nss++)
2283 if (ht_mcs_mask[nss])
2292 int nss;
2294 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++)
2295 if (vht_mcs_mask[nss])
2402 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n",
2481 int nss;
2485 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++) {
2486 mcs_map = ath10k_mac_get_max_vht_mcs_map(tx_mcs_set, nss) &
2487 vht_mcs_limit[nss];
2520 tx_mcs_set &= ~(0x3 << (nss * 2));
2521 tx_mcs_set |= mcs << (nss * 2);
2529 u32 nss;
2533 nss = 1;
2536 nss = 2;
2539 nss = 3; /* not support MCS9 from spec*/
2542 nss = 4;
2545 nss = 1;
2548 return nss;
5734 u16 nss = get_nss_from_chainmask(ar->cfg_tx_chainmask);
5736 vdev_param = ar->wmi.vdev_param->nss;
5738 nss);
5740 ath10k_warn(ar, "failed to set vdev %i chainmask 0x%x, nss %i: %d\n",
5741 arvif->vdev_id, ar->cfg_tx_chainmask, nss,
6721 u32 changed, bw, nss, smps;
6742 nss = arsta->nss;
6749 nss = max_t(u32, 1, nss);
6750 nss = min(nss, max(ath10k_mac_max_ht_nss(ht_mcs_mask),
6776 ath10k_dbg(ar, ATH10K_DBG_STA, "mac update sta %pM nss %d\n",
6777 sta->addr, nss);
6780 ar->wmi.peer_param->nss, nss);
6782 ath10k_warn(ar, "failed to update STA %pM nss %d: %d\n",
6783 sta->addr, nss, err);
6911 u8 *rate, u8 *nss, bool vht_only)
6936 *nss = 1;
6938 (*nss - 1) << 4 |
6946 *nss = i + 1;
6948 (*nss - 1) << 4 |
6958 *nss = i + 1;
6960 (*nss - 1) << 4 |
6972 u32 rate_ctrl_flag, u8 nss)
6977 if (nss > sta->deflink.rx_nss) {
6978 ath10k_warn(ar, "Invalid nss field, configured %u limit %u\n",
6979 nss, sta->deflink.rx_nss);
7013 u8 nss, rate;
7033 &rate, &nss, false);
7042 if (sta && ath10k_mac_validate_rate_mask(ar, sta, *rate_ctrl_flag, nss))
7331 u8 nss;
7387 nss = ATH10K_HW_NSS(arvif->rate_code[i]);
7390 nss);
8215 int *nss)
8255 *nss = fls(ht_nss_mask);
8261 u8 rate, u8 nss, u8 sgi, u8 ldpc)
8269 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac set fixed rate params vdev %i rate 0x%02x nss %u sgi %u\n",
8270 arvif->vdev_id, rate, nss, sgi);
8280 vdev_param = ar->wmi.vdev_param->nss;
8281 ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, nss);
8283 ath10k_warn(ar, "failed to set nss param %d: %d\n", nss, ret);
8407 u8 nss;
8441 &rate, &nss,
8451 nss = single_nss;
8454 nss = min(ar->num_rf_chains,
8493 ret = ath10k_mac_set_fixed_rate_params(arvif, rate, nss, sgi, ldpc);
8528 "mac sta rc update for %pM changed %08x bw %d nss %d smps %d\n",
8560 arsta->nss = sta->deflink.rx_nss;
9140 static void ath10k_mac_get_rate_flags_ht(struct ath10k *ar, u32 rate, u8 nss, u8 mcs,
9154 ((nss == 1) ? &supported_ht_mcs_rate_nss1 :
9173 ath10k_warn(ar, "invalid ht params rate %d 100kbps nss %d mcs %d",
9174 rate, nss, mcs);
9178 static void ath10k_mac_get_rate_flags_vht(struct ath10k *ar, u32 rate, u8 nss, u8 mcs,
9184 ((nss == 1) ? &supported_vht_mcs_rate_nss1 :
9203 ath10k_warn(ar, "invalid vht params rate %d 100kbps nss %d mcs %d",
9204 rate, nss, mcs);
9209 enum ath10k_phy_mode mode, u8 nss, u8 mcs,
9214 ath10k_mac_get_rate_flags_ht(ar, rate, nss, mcs, flags, bw);
9217 ath10k_mac_get_rate_flags_vht(ar, rate, nss, mcs, flags, bw);
9226 u8 nss = WMI_TLV_GET_HW_RC_NSS_V1(rate_code) + 1;
9238 ath10k_mac_get_rate_flags(ar, bitrate_kbps / 100, mode, nss, mcs, &flags, &bw);
9241 "mac parse bitrate preamble %d mode %d nss %d mcs %d flags %x bw %d\n",
9242 preamble, mode, nss, mcs, flags, bw);
9247 rate->nss = nss;
9327 if (arsta->txrate.legacy || arsta->txrate.nss) {
9332 sinfo->txrate.nss = arsta->txrate.nss;