Lines Matching defs:vht_cap
18 struct ieee80211_sta_vht_cap *vht_cap,
25 vht_cap->cap &= ~flag;
29 struct ieee80211_sta_vht_cap *vht_cap)
34 if (!vht_cap->vht_supported)
40 __check_vhtcap_disable(sdata, vht_cap,
42 __check_vhtcap_disable(sdata, vht_cap,
44 __check_vhtcap_disable(sdata, vht_cap,
46 __check_vhtcap_disable(sdata, vht_cap,
48 __check_vhtcap_disable(sdata, vht_cap,
50 __check_vhtcap_disable(sdata, vht_cap,
52 __check_vhtcap_disable(sdata, vht_cap,
54 __check_vhtcap_disable(sdata, vht_cap,
65 cap = vht_cap->cap & IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
69 vht_cap->cap &=
71 vht_cap->cap |=
81 rxmcs_cap = le16_to_cpu(vht_cap->vht_mcs.rx_mcs_map);
87 txmcs_cap = le16_to_cpu(vht_cap->vht_mcs.tx_mcs_map);
111 vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(rxmcs_cap);
112 vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(txmcs_cap);
122 struct ieee80211_sta_vht_cap *vht_cap = &link_sta->pub->vht_cap;
128 memset(vht_cap, 0, sizeof(*vht_cap));
133 if (!vht_cap_ie || !sband->vht_cap.vht_supported)
157 vht_cap->vht_supported = true;
159 own_cap = sband->vht_cap;
172 vht_cap->cap = cap_info;
173 vht_cap->cap &= IEEE80211_VHT_CAP_RXLDPC |
182 vht_cap->cap |= min_t(u32, cap_info & IEEE80211_VHT_CAP_MAX_MPDU_MASK,
188 vht_cap->cap |= cap_info &
192 vht_cap->cap |= cap_info &
201 vht_cap->cap |= cap_info & own_cap.cap &
207 vht_cap->cap |= cap_info &
212 vht_cap->cap |= cap_info &
217 vht_cap->cap |= cap_info &
221 vht_cap->cap |= cap_info &
225 vht_cap->cap |= cap_info & IEEE80211_VHT_CAP_RXSTBC_MASK;
228 vht_cap->cap |= cap_info & IEEE80211_VHT_CAP_TXSTBC;
231 memcpy(&vht_cap->vht_mcs, &vht_cap_ie->supp_mcs,
236 vht_cap->cap |= (cap_info & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK);
238 vht_cap->vht_mcs.tx_highest &=
251 peer_rx = le16_to_cpu(vht_cap->vht_mcs.rx_mcs_map);
254 peer_tx = le16_to_cpu(vht_cap->vht_mcs.tx_mcs_map);
271 vht_cap->vht_mcs.rx_mcs_map &=
273 vht_cap->vht_mcs.rx_mcs_map |= cpu_to_le16(peer_rx << i * 2);
275 vht_cap->vht_mcs.tx_mcs_map &=
277 vht_cap->vht_mcs.tx_mcs_map |= cpu_to_le16(peer_tx << i * 2);
289 if (vht_cap->vht_mcs.rx_mcs_map == cpu_to_le16(0xFFFF)) {
290 vht_cap->vht_supported = false;
298 switch (vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
306 if (!(vht_cap->vht_mcs.tx_highest &
326 mpdu_len = vht_cap->cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK;
359 struct ieee80211_sta_vht_cap *vht_cap = &link_sta->pub->vht_cap;
404 if (!vht_cap->vht_supported)
409 cap_width = vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK;
420 if (vht_cap->cap & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK)
451 struct ieee80211_sta_vht_cap *vht_cap = &link_sta->pub->vht_cap;
454 if (!vht_cap->vht_supported) {
462 cap_width = vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK;
477 struct ieee80211_sta_vht_cap *vht_cap =
478 &link_sta->pub->vht_cap;
493 vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK;
616 if (link_sta->pub->vht_cap.vht_supported) {
620 rx_mcs_map = le16_to_cpu(link_sta->pub->vht_cap.vht_mcs.rx_mcs_map);
777 void ieee80211_get_vht_mask_from_cap(__le16 vht_cap,
781 u16 mask, cap = le16_to_cpu(vht_cap);