Lines Matching refs:sdata

63 ieee80211_nan_use_chanctx(struct ieee80211_sub_if_data *sdata,  in ieee80211_nan_use_chanctx()  argument
73 if (ieee80211_check_combinations(sdata, &nan_channel->chanreq.oper, in ieee80211_nan_use_chanctx()
77 ctx = ieee80211_find_or_create_chanctx(sdata, &nan_channel->chanreq, in ieee80211_nan_use_chanctx()
94 ieee80211_recalc_chanctx_min_def(sdata->local, ctx); in ieee80211_nan_use_chanctx()
95 ieee80211_recalc_smps_chanctx(sdata->local, ctx); in ieee80211_nan_use_chanctx()
101 ieee80211_nan_update_peer_channels(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_update_peer_channels() argument
104 struct ieee80211_local *local = sdata->local; in ieee80211_nan_update_peer_channels()
114 if (sta->sdata != sdata) in ieee80211_nan_update_peer_channels()
172 drv_nan_peer_sched_changed(local, sdata, sta); in ieee80211_nan_update_peer_channels()
177 ieee80211_nan_remove_channel(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_remove_channel() argument
182 struct ieee80211_nan_sched_cfg *sched_cfg = &sdata->vif.cfg.nan_sched; in ieee80211_nan_remove_channel()
187 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_nan_remove_channel()
200 ieee80211_nan_update_peer_channels(sdata, conf); in ieee80211_nan_remove_channel()
205 drv_vif_cfg_changed(sdata->local, sdata, BSS_CHANGED_NAN_LOCAL_SCHED); in ieee80211_nan_remove_channel()
213 if (ieee80211_chanctx_num_assigned(sdata->local, ctx) > 0) { in ieee80211_nan_remove_channel()
214 ieee80211_recalc_chanctx_chantype(sdata->local, ctx); in ieee80211_nan_remove_channel()
215 ieee80211_recalc_smps_chanctx(sdata->local, ctx); in ieee80211_nan_remove_channel()
216 ieee80211_recalc_chanctx_min_def(sdata->local, ctx); in ieee80211_nan_remove_channel()
219 if (ieee80211_chanctx_refcount(sdata->local, ctx) == 0) in ieee80211_nan_remove_channel()
220 ieee80211_free_chanctx(sdata->local, ctx, false); in ieee80211_nan_remove_channel()
226 struct ieee80211_sub_if_data *sdata; in ieee80211_nan_update_all_ndi_carriers() local
231 list_for_each_entry(sdata, &local->interfaces, list) { in ieee80211_nan_update_all_ndi_carriers()
232 if (!ieee80211_sdata_running(sdata) || in ieee80211_nan_update_all_ndi_carriers()
233 sdata->vif.type != NL80211_IFTYPE_NAN_DATA) in ieee80211_nan_update_all_ndi_carriers()
236 ieee80211_nan_update_ndi_carrier(sdata); in ieee80211_nan_update_all_ndi_carriers()
251 int ieee80211_nan_set_local_sched(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_set_local_sched() argument
255 struct ieee80211_nan_sched_cfg *sched_cfg = &sdata->vif.cfg.nan_sched; in ieee80211_nan_set_local_sched()
279 bitmap_zero(sdata->u.nan.removed_channels, IEEE80211_NAN_MAX_CHANNELS); in ieee80211_nan_set_local_sched()
316 __set_bit(i, sdata->u.nan.removed_channels); in ieee80211_nan_set_local_sched()
318 ieee80211_nan_remove_channel(sdata, in ieee80211_nan_set_local_sched()
327 ieee80211_nan_update_channel(sdata->local, chan, in ieee80211_nan_set_local_sched()
344 ret = ieee80211_nan_use_chanctx(sdata, chan, false); in ieee80211_nan_set_local_sched()
362 drv_vif_cfg_changed(sdata->local, sdata, BSS_CHANGED_NAN_LOCAL_SCHED); in ieee80211_nan_set_local_sched()
373 ieee80211_nan_update_all_ndi_carriers(sdata->local); in ieee80211_nan_set_local_sched()
374 bitmap_zero(sdata->u.nan.removed_channels, IEEE80211_NAN_MAX_CHANNELS); in ieee80211_nan_set_local_sched()
388 ieee80211_nan_remove_channel(sdata, in ieee80211_nan_set_local_sched()
405 if (test_bit(i, sdata->u.nan.removed_channels)) { in ieee80211_nan_set_local_sched()
414 WARN_ON(ieee80211_nan_use_chanctx(sdata, chan, true)); in ieee80211_nan_set_local_sched()
420 ieee80211_recalc_smps_chanctx(sdata->local, in ieee80211_nan_set_local_sched()
433 bitmap_zero(sdata->u.nan.removed_channels, IEEE80211_NAN_MAX_CHANNELS); in ieee80211_nan_set_local_sched()
435 drv_vif_cfg_changed(sdata->local, sdata, BSS_CHANGED_NAN_LOCAL_SCHED); in ieee80211_nan_set_local_sched()
436 ieee80211_nan_update_all_ndi_carriers(sdata->local); in ieee80211_nan_set_local_sched()
442 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_nan_sched_update_done() local
446 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_nan_sched_update_done()
451 ieee80211_nan_update_all_ndi_carriers(sdata->local); in ieee80211_nan_sched_update_done()
469 if (test_bit(i, sdata->u.nan.removed_channels)) in ieee80211_nan_sched_update_done()
470 ieee80211_nan_remove_channel(sdata, chan); in ieee80211_nan_sched_update_done()
476 ieee80211_recalc_smps_chanctx(sdata->local, in ieee80211_nan_sched_update_done()
482 bitmap_zero(sdata->u.nan.removed_channels, IEEE80211_NAN_MAX_CHANNELS); in ieee80211_nan_sched_update_done()
498 ieee80211_nan_init_peer_channel(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_init_peer_channel() argument
503 struct ieee80211_nan_sched_cfg *sched_cfg = &sdata->vif.cfg.nan_sched; in ieee80211_nan_init_peer_channel()
566 ieee80211_nan_has_common_slots(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_has_common_slots() argument
571 sdata->vif.cfg.nan_sched.schedule[slot]; in ieee80211_nan_has_common_slots()
615 if (sta->sdata != ndi_sdata || in ieee80211_nan_update_ndi_carrier()
642 ieee80211_nan_update_ndi_carrier(sta->sdata); in ieee80211_nan_update_peer_ndis_carrier()
646 int ieee80211_nan_set_peer_sched(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_set_peer_sched() argument
653 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_nan_set_peer_sched()
655 if (!sdata->u.nan.started) in ieee80211_nan_set_peer_sched()
658 sta = sta_info_get(sdata, sched->peer_addr); in ieee80211_nan_set_peer_sched()
684 ret = ieee80211_nan_init_peer_channel(sdata, sta, in ieee80211_nan_set_peer_sched()
699 ret = drv_nan_peer_sched_changed(sdata->local, sdata, sta); in ieee80211_nan_set_peer_sched()
706 ieee80211_nan_update_peer_ndis_carrier(sdata->local, sta); in ieee80211_nan_set_peer_sched()
718 ieee80211_nan_evacuate_channel(struct ieee80211_sub_if_data *sdata, in ieee80211_nan_evacuate_channel() argument
724 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_nan_evacuate_channel()
736 ieee80211_nan_update_peer_channels(sdata, conf); in ieee80211_nan_evacuate_channel()
738 drv_vif_cfg_changed(sdata->local, sdata, BSS_CHANGED_NAN_LOCAL_SCHED); in ieee80211_nan_evacuate_channel()
740 cfg80211_nan_channel_evac(&sdata->wdev, &nan_channel->chanreq.oper, in ieee80211_nan_evacuate_channel()
744 ieee80211_nan_update_all_ndi_carriers(sdata->local); in ieee80211_nan_evacuate_channel()
749 if (ieee80211_chanctx_num_assigned(sdata->local, ctx) > 0) { in ieee80211_nan_evacuate_channel()
750 ieee80211_recalc_chanctx_chantype(sdata->local, ctx); in ieee80211_nan_evacuate_channel()
751 ieee80211_recalc_smps_chanctx(sdata->local, ctx); in ieee80211_nan_evacuate_channel()
752 ieee80211_recalc_chanctx_min_def(sdata->local, ctx); in ieee80211_nan_evacuate_channel()
755 if (ieee80211_chanctx_refcount(sdata->local, ctx) == 0) in ieee80211_nan_evacuate_channel()
756 ieee80211_free_chanctx(sdata->local, ctx, false); in ieee80211_nan_evacuate_channel()
761 struct ieee80211_sub_if_data *sdata, in ieee80211_nan_find_evac_chan() argument
771 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_NAN)) in ieee80211_nan_find_evac_chan()
774 sched_cfg = &sdata->vif.cfg.nan_sched; in ieee80211_nan_find_evac_chan()
828 struct ieee80211_sub_if_data *sdata = in ieee80211_nan_try_evacuate() local
835 if (!sdata) in ieee80211_nan_try_evacuate()
841 evac_chan = ieee80211_nan_find_evac_chan(local, sdata, ctx); in ieee80211_nan_try_evacuate()
845 ieee80211_nan_evacuate_channel(sdata, evac_chan); in ieee80211_nan_try_evacuate()