Lines Matching refs:sdata
34 struct ieee80211_local *local = sta->sdata->local; in rate_control_rate_init()
48 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); in rate_control_rate_init()
76 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); in rate_control_rate_update()
88 drv_sta_rc_update(local, sta->sdata, &sta->sta, changed); in rate_control_rate_update()
344 if (ieee80211_vif_is_mesh(&sta->sdata->vif)) in rate_control_send_low()
684 static bool rate_control_cap_mask(struct ieee80211_sub_if_data *sdata, in rate_control_cap_mask() argument
692 *mask = sdata->rc_rateidx_mask[sband->band]; in rate_control_cap_mask()
693 flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); in rate_control_cap_mask()
700 !sdata->rc_has_mcs_mask[sband->band] && in rate_control_cap_mask()
701 !sdata->rc_has_vht_mcs_mask[sband->band]) in rate_control_cap_mask()
704 if (sdata->rc_has_mcs_mask[sband->band]) in rate_control_cap_mask()
705 memcpy(mcs_mask, sdata->rc_rateidx_mcs_mask[sband->band], in rate_control_cap_mask()
710 if (sdata->rc_has_vht_mcs_mask[sband->band]) in rate_control_cap_mask()
711 memcpy(vht_mask, sdata->rc_rateidx_vht_mcs_mask[sband->band], in rate_control_cap_mask()
745 if (!rate_control_cap_mask(sta->sdata, sband, &sta->sta, &mask, in rate_control_apply_mask_ratetbl()
749 chan_width = sta->sdata->vif.bss_conf.chandef.width; in rate_control_apply_mask_ratetbl()
760 static void rate_control_apply_mask(struct ieee80211_sub_if_data *sdata, in rate_control_apply_mask() argument
777 if (!rate_control_cap_mask(sdata, sband, sta, &mask, mcs_mask, in rate_control_apply_mask()
786 chan_width = sdata->vif.bss_conf.chandef.width; in rate_control_apply_mask()
805 struct ieee80211_sub_if_data *sdata; in ieee80211_get_tx_rates() local
815 sdata = vif_to_sdata(vif); in ieee80211_get_tx_rates()
816 sband = sdata->local->hw.wiphy->bands[info->band]; in ieee80211_get_tx_rates()
819 rate_control_apply_mask(sdata, sta, sband, dest, max_rates); in ieee80211_get_tx_rates()
822 __rate_control_send_low(&sdata->local->hw, sband, sta, info, in ieee80211_get_tx_rates()
823 sdata->rc_rateidx_mask[info->band]); in ieee80211_get_tx_rates()
830 void rate_control_get_rate(struct ieee80211_sub_if_data *sdata, in rate_control_get_rate() argument
834 struct rate_control_ref *ref = sdata->local->rate_ctrl; in rate_control_get_rate()
851 if (ieee80211_hw_check(&sdata->local->hw, HAS_RATE_CONTROL)) in rate_control_get_rate()
862 if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_RC_TABLE)) in rate_control_get_rate()
865 ieee80211_get_tx_rates(&sdata->vif, ista, txrc->skb, in rate_control_get_rate()
878 sband = hw->wiphy->bands[ieee80211_get_sdata_band(sta->sdata)]; in rate_control_set_rates()
891 drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta); in rate_control_set_rates()