Lines Matching defs:sdata
32 struct ieee80211_local *local = sta->sdata->local;
46 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf);
103 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf);
115 drv_sta_rc_update(local, sta->sdata, &sta->sta, changed);
266 void ieee80211_check_rate_mask(struct ieee80211_sub_if_data *sdata)
268 struct ieee80211_local *local = sdata->local;
270 u32 user_mask, basic_rates = sdata->vif.bss_conf.basic_rates;
273 if (WARN_ON(!sdata->vif.bss_conf.chandef.chan))
276 band = sdata->vif.bss_conf.chandef.chan->band;
285 user_mask = sdata->rc_rateidx_mask[band];
291 sdata_dbg(sdata,
294 sdata->rc_rateidx_mask[band] = (1 << sband->n_bitrates) - 1;
412 if (ieee80211_vif_is_mesh(&sta->sdata->vif))
751 static bool rate_control_cap_mask(struct ieee80211_sub_if_data *sdata,
759 *mask = sdata->rc_rateidx_mask[sband->band];
760 flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef);
767 !sdata->rc_has_mcs_mask[sband->band] &&
768 !sdata->rc_has_vht_mcs_mask[sband->band])
771 if (sdata->rc_has_mcs_mask[sband->band])
772 memcpy(mcs_mask, sdata->rc_rateidx_mcs_mask[sband->band],
777 if (sdata->rc_has_vht_mcs_mask[sband->band])
778 memcpy(vht_mask, sdata->rc_rateidx_vht_mcs_mask[sband->band],
812 if (!rate_control_cap_mask(sta->sdata, sband, &sta->sta, &mask,
816 chan_width = sta->sdata->vif.bss_conf.chandef.width;
827 static void rate_control_apply_mask(struct ieee80211_sub_if_data *sdata,
844 if (!rate_control_cap_mask(sdata, sband, sta, &mask, mcs_mask,
853 chan_width = sdata->vif.bss_conf.chandef.width;
872 struct ieee80211_sub_if_data *sdata;
882 sdata = vif_to_sdata(vif);
883 sband = sdata->local->hw.wiphy->bands[info->band];
886 rate_control_apply_mask(sdata, sta, sband, dest, max_rates);
889 __rate_control_send_low(&sdata->local->hw, sband, sta, info,
890 sdata->rc_rateidx_mask[info->band]);
897 void rate_control_get_rate(struct ieee80211_sub_if_data *sdata,
901 struct rate_control_ref *ref = sdata->local->rate_ctrl;
916 if (ieee80211_hw_check(&sdata->local->hw, HAS_RATE_CONTROL))
932 if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_RC_TABLE))
935 ieee80211_get_tx_rates(&sdata->vif, ista, txrc->skb,
948 sband = ieee80211_get_sband(sta->sdata);
964 drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta);