Lines Matching full:conf

58 		if (radio_idx >= 0 && ctx->conf.radio_idx != radio_idx)  in ieee80211_num_chanctx()
79 struct ieee80211_chanctx_conf *conf; in ieee80211_link_get_chanctx() local
81 conf = rcu_dereference_protected(link->conf->chanctx_conf, in ieee80211_link_get_chanctx()
83 if (!conf) in ieee80211_link_get_chanctx()
86 return container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_link_get_chanctx()
129 .oper = ctx->conf.def, in ieee80211_chanctx_compatible()
130 .ap = ctx->conf.ap, in ieee80211_chanctx_compatible()
174 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_chanctx_non_reserved_chandef()
273 * ctx->conf.min_def, we have to make sure to take in ieee80211_get_sta_bw()
320 return ctx->conf.def.width; in ieee80211_get_chanctx_max_required_bw()
329 rcu_access_pointer(link->conf->chanctx_conf) != &ctx->conf) in ieee80211_get_chanctx_max_required_bw()
341 width = link->conf->chanreq.oper.width; in ieee80211_get_chanctx_max_required_bw()
364 width = link->conf->chanreq.oper.width; in ieee80211_get_chanctx_max_required_bw()
380 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &ctx->conf) in ieee80211_get_chanctx_max_required_bw()
381 max_bw = max(max_bw, ctx->conf.def.width); in ieee80211_get_chanctx_max_required_bw()
403 if (ctx->conf.def.width == NL80211_CHAN_WIDTH_5 || in _ieee80211_recalc_chanctx_min_def()
404 ctx->conf.def.width == NL80211_CHAN_WIDTH_10 || in _ieee80211_recalc_chanctx_min_def()
405 ctx->conf.def.width == NL80211_CHAN_WIDTH_1 || in _ieee80211_recalc_chanctx_min_def()
406 ctx->conf.def.width == NL80211_CHAN_WIDTH_2 || in _ieee80211_recalc_chanctx_min_def()
407 ctx->conf.def.width == NL80211_CHAN_WIDTH_4 || in _ieee80211_recalc_chanctx_min_def()
408 ctx->conf.def.width == NL80211_CHAN_WIDTH_8 || in _ieee80211_recalc_chanctx_min_def()
409 ctx->conf.def.width == NL80211_CHAN_WIDTH_16 || in _ieee80211_recalc_chanctx_min_def()
410 ctx->conf.radar_enabled) { in _ieee80211_recalc_chanctx_min_def()
411 ctx->conf.min_def = ctx->conf.def; in _ieee80211_recalc_chanctx_min_def()
419 min_def = ctx->conf.def; in _ieee80211_recalc_chanctx_min_def()
423 if (cfg80211_chandef_identical(&ctx->conf.min_def, &min_def)) in _ieee80211_recalc_chanctx_min_def()
426 ctx->conf.min_def = min_def; in _ieee80211_recalc_chanctx_min_def()
439 local->hw.wiphy->bands[ctx->conf.def.chan->band]; in ieee80211_chan_bw_change()
461 link_conf = link->conf; in ieee80211_chan_bw_change()
463 if (rcu_access_pointer(link_conf->chanctx_conf) != &ctx->conf) in ieee80211_chan_bw_change()
528 .oper = ctx->conf.def, in _ieee80211_change_chanctx()
529 .ap = ctx->conf.ap, in _ieee80211_change_chanctx()
559 !cfg80211_chandef_compatible(&ctx->conf.def, &chanreq->oper)); in _ieee80211_change_chanctx()
561 ieee80211_remove_wbrf(local, &ctx->conf.def); in _ieee80211_change_chanctx()
563 if (!cfg80211_chandef_identical(&ctx->conf.def, &chanreq->oper)) { in _ieee80211_change_chanctx()
564 if (ctx->conf.def.width != chanreq->oper.width) in _ieee80211_change_chanctx()
566 if (ctx->conf.def.punctured != chanreq->oper.punctured) in _ieee80211_change_chanctx()
569 if (!cfg80211_chandef_identical(&ctx->conf.ap, &chanreq->ap)) in _ieee80211_change_chanctx()
571 ctx->conf.def = *chandef; in _ieee80211_change_chanctx()
572 ctx->conf.ap = chanreq->ap; in _ieee80211_change_chanctx()
577 ieee80211_add_wbrf(local, &ctx->conf.def); in _ieee80211_change_chanctx()
662 chan = link->conf->chanreq.oper.chan; in ieee80211_is_radar_required()
678 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_chanctx_radar_required() local
684 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_chanctx_radar_required()
710 ctx->conf.def = chanreq->oper; in ieee80211_alloc_chanctx()
711 ctx->conf.ap = chanreq->ap; in ieee80211_alloc_chanctx()
712 ctx->conf.rx_chains_static = 1; in ieee80211_alloc_chanctx()
713 ctx->conf.rx_chains_dynamic = 1; in ieee80211_alloc_chanctx()
715 ctx->conf.radar_enabled = false; in ieee80211_alloc_chanctx()
716 ctx->conf.radio_idx = radio_idx; in ieee80211_alloc_chanctx()
731 ieee80211_add_wbrf(local, &ctx->conf.def); in ieee80211_add_chanctx()
786 ieee80211_remove_wbrf(local, &ctx->conf.def); in ieee80211_del_chanctx()
805 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_recalc_chanctx_chantype() local
819 link_conf = link->conf; in ieee80211_recalc_chanctx_chantype()
821 if (rcu_access_pointer(link_conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
853 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
877 if (radar_enabled == chanctx->conf.radar_enabled) in ieee80211_recalc_radar_chanctx()
880 chanctx->conf.radar_enabled = radar_enabled; in ieee80211_recalc_radar_chanctx()
891 struct ieee80211_chanctx_conf *conf; in ieee80211_assign_link_chanctx() local
899 conf = rcu_dereference_protected(link->conf->chanctx_conf, in ieee80211_assign_link_chanctx()
902 if (conf && !local->in_reconfig) { in ieee80211_assign_link_chanctx()
903 curr_ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_assign_link_chanctx()
905 drv_unassign_vif_chanctx(local, sdata, link->conf, curr_ctx); in ieee80211_assign_link_chanctx()
906 conf = NULL; in ieee80211_assign_link_chanctx()
914 ret = drv_assign_vif_chanctx(local, sdata, link->conf, new_ctx); in ieee80211_assign_link_chanctx()
921 conf = &new_ctx->conf; in ieee80211_assign_link_chanctx()
930 rcu_assign_pointer(link->conf->chanctx_conf, conf); in ieee80211_assign_link_chanctx()
944 if (conf) { in ieee80211_assign_link_chanctx()
951 if (rcu_access_pointer(tmp->conf->chanctx_conf)) { in ieee80211_assign_link_chanctx()
1004 if (rcu_access_pointer(link->conf->chanctx_conf) != &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1038 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1041 if (rx_chains_static == chanctx->conf.rx_chains_static && in ieee80211_recalc_smps_chanctx()
1042 rx_chains_dynamic == chanctx->conf.rx_chains_dynamic) in ieee80211_recalc_smps_chanctx()
1045 chanctx->conf.rx_chains_static = rx_chains_static; in ieee80211_recalc_smps_chanctx()
1046 chanctx->conf.rx_chains_dynamic = rx_chains_dynamic; in ieee80211_recalc_smps_chanctx()
1056 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_copy_chanctx_to_vlans()
1059 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_copy_chanctx_to_vlans() local
1066 /* Check that conf exists, even when clearing this function in __ieee80211_link_copy_chanctx_to_vlans()
1072 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_copy_chanctx_to_vlans()
1074 WARN_ON(!conf); in __ieee80211_link_copy_chanctx_to_vlans()
1077 conf = NULL; in __ieee80211_link_copy_chanctx_to_vlans()
1087 rcu_assign_pointer(vlan_conf->chanctx_conf, conf); in __ieee80211_link_copy_chanctx_to_vlans()
1173 if (ctx->conf.radio_idx >= 0) { in ieee80211_replace_chanctx()
1174 radio = &wiphy->radio[ctx->conf.radio_idx]; in ieee80211_replace_chanctx()
1318 link->conf->chanreq = *chanreq; in ieee80211_link_update_chanreq()
1339 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1380 vif_chsw[0].old_ctx = &old_ctx->conf; in ieee80211_link_use_reserved_reassign()
1381 vif_chsw[0].new_ctx = &new_ctx->conf; in ieee80211_link_use_reserved_reassign()
1382 vif_chsw[0].link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1398 rcu_assign_pointer(link_conf->chanctx_conf, &new_ctx->conf); in ieee80211_link_use_reserved_reassign()
1527 vif_chsw[i].old_ctx = &old_ctx->conf; in ieee80211_chsw_switch_vifs()
1528 vif_chsw[i].new_ctx = &ctx->conf; in ieee80211_chsw_switch_vifs()
1529 vif_chsw[i].link_conf = link->conf; in ieee80211_chsw_switch_vifs()
1643 ctx->conf.radar_enabled = false; in ieee80211_vif_use_reserved_switch()
1662 ctx->conf.radar_enabled = true; in ieee80211_vif_use_reserved_switch()
1734 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_vif_use_reserved_switch()
1741 &ctx->conf); in ieee80211_vif_use_reserved_switch()
1856 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_release_channel()
1858 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_release_channel() local
1864 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_release_channel()
1866 if (!conf) in __ieee80211_link_release_channel()
1869 ctx = container_of(conf, struct ieee80211_chanctx, conf); in __ieee80211_link_release_channel()
2057 if (rcu_access_pointer(link->conf->chanctx_conf) == &ctx->conf) { in ieee80211_chanctx_recheck()
2059 &link->conf->chanreq, in ieee80211_chanctx_recheck()
2083 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_change_chanreq()
2085 struct ieee80211_chanctx_conf *conf; in ieee80211_link_change_chanreq() local
2107 conf = rcu_dereference_protected(link_conf->chanctx_conf, in ieee80211_link_change_chanreq()
2109 if (!conf) in ieee80211_link_change_chanreq()
2112 ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_link_change_chanreq()
2153 if (rcu_access_pointer(link->conf->chanctx_conf)) in ieee80211_link_release_channel()
2161 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_vlan_copy_chanctx()
2165 struct ieee80211_chanctx_conf *conf; in ieee80211_link_vlan_copy_chanctx() local
2176 conf = wiphy_dereference(local->hw.wiphy, in ieee80211_link_vlan_copy_chanctx()
2178 rcu_assign_pointer(link_conf->chanctx_conf, conf); in ieee80211_link_vlan_copy_chanctx()
2194 iter(hw, &ctx->conf, iter_data); in ieee80211_iter_chan_contexts_atomic()
2213 iter(hw, &ctx->conf, iter_data); in ieee80211_iter_chan_contexts_mtx()