Lines Matching refs:nss

166 static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss)
168 switch ((mcs_map >> (2 * nss)) & 0x3) {
179 int nss;
181 for (nss = IEEE80211_HT_MCS_MASK_LEN - 1; nss >= 0; nss--)
182 if (ht_mcs_mask[nss])
183 return nss + 1;
191 int nss;
193 for (nss = NL80211_VHT_NSS_MAX - 1; nss >= 0; nss--)
194 if (vht_mcs_mask[nss])
195 return nss + 1;
2268 int nss;
2270 for (nss = 0; nss < IEEE80211_HT_MCS_MASK_LEN; nss++)
2271 if (ht_mcs_mask[nss])
2280 int nss;
2282 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++)
2283 if (vht_mcs_mask[nss])
2389 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n",
2468 int nss;
2472 for (nss = 0; nss < NL80211_VHT_NSS_MAX; nss++) {
2473 mcs_map = ath10k_mac_get_max_vht_mcs_map(tx_mcs_set, nss) &
2474 vht_mcs_limit[nss];
2507 tx_mcs_set &= ~(0x3 << (nss * 2));
2508 tx_mcs_set |= mcs << (nss * 2);
2516 u32 nss;
2520 nss = 1;
2523 nss = 2;
2526 nss = 3; /* not support MCS9 from spec*/
2529 nss = 4;
2532 nss = 1;
2535 return nss;
5586 u16 nss = get_nss_from_chainmask(ar->cfg_tx_chainmask);
5588 vdev_param = ar->wmi.vdev_param->nss;
5590 nss);
5592 ath10k_warn(ar, "failed to set vdev %i chainmask 0x%x, nss %i: %d\n",
5593 arvif->vdev_id, ar->cfg_tx_chainmask, nss,
6572 u32 changed, bw, nss, smps;
6593 nss = arsta->nss;
6600 nss = max_t(u32, 1, nss);
6601 nss = min(nss, max(ath10k_mac_max_ht_nss(ht_mcs_mask),
6627 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM nss %d\n",
6628 sta->addr, nss);
6631 ar->wmi.peer_param->nss, nss);
6633 ath10k_warn(ar, "failed to update STA %pM nss %d: %d\n",
6634 sta->addr, nss, err);
6762 u8 *rate, u8 *nss, bool vht_only)
6787 *nss = 1;
6789 (*nss - 1) << 4 |
6797 *nss = i + 1;
6799 (*nss - 1) << 4 |
6809 *nss = i + 1;
6811 (*nss - 1) << 4 |
6823 u32 rate_ctrl_flag, u8 nss)
6825 if (nss > sta->rx_nss) {
6826 ath10k_warn(ar, "Invalid nss field, configured %u limit %u\n",
6827 nss, sta->rx_nss);
6861 u8 nss, rate;
6881 &rate, &nss, false);
6890 if (sta && ath10k_mac_validate_rate_mask(ar, sta, *rate_ctrl_flag, nss))
7179 u8 nss;
7235 nss = ATH10K_HW_NSS(arvif->rate_code[i]);
7238 nss);
8054 int *nss)
8094 *nss = fls(ht_nss_mask);
8100 u8 rate, u8 nss, u8 sgi, u8 ldpc)
8108 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac set fixed rate params vdev %i rate 0x%02hhx nss %hhu sgi %hhu\n",
8109 arvif->vdev_id, rate, nss, sgi);
8119 vdev_param = ar->wmi.vdev_param->nss;
8120 ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, nss);
8122 ath10k_warn(ar, "failed to set nss param %d: %d\n", nss, ret);
8246 u8 nss;
8280 &rate, &nss,
8290 nss = single_nss;
8293 nss = min(ar->num_rf_chains,
8332 ret = ath10k_mac_set_fixed_rate_params(arvif, rate, nss, sgi, ldpc);
8367 "mac sta rc update for %pM changed %08x bw %d nss %d smps %d\n",
8398 arsta->nss = sta->rx_nss;
8976 static void ath10k_mac_get_rate_flags_ht(struct ath10k *ar, u32 rate, u8 nss, u8 mcs,
8990 ((nss == 1) ? &supported_ht_mcs_rate_nss1 :
9009 ath10k_warn(ar, "invalid ht params rate %d 100kbps nss %d mcs %d",
9010 rate, nss, mcs);
9014 static void ath10k_mac_get_rate_flags_vht(struct ath10k *ar, u32 rate, u8 nss, u8 mcs,
9020 ((nss == 1) ? &supported_vht_mcs_rate_nss1 :
9039 ath10k_warn(ar, "invalid vht params rate %d 100kbps nss %d mcs %d",
9040 rate, nss, mcs);
9045 enum ath10k_phy_mode mode, u8 nss, u8 mcs,
9050 ath10k_mac_get_rate_flags_ht(ar, rate, nss, mcs, flags, bw);
9053 ath10k_mac_get_rate_flags_vht(ar, rate, nss, mcs, flags, bw);
9062 u8 nss = WMI_TLV_GET_HW_RC_NSS_V1(rate_code) + 1;
9074 ath10k_mac_get_rate_flags(ar, bitrate_kbps / 100, mode, nss, mcs, &flags, &bw);
9077 "mac parse bitrate preamble %d mode %d nss %d mcs %d flags %x bw %d\n",
9078 preamble, mode, nss, mcs, flags, bw);
9083 rate->nss = nss;
9163 if (arsta->txrate.legacy || arsta->txrate.nss) {
9168 sinfo->txrate.nss = arsta->txrate.nss;