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()
266 * ctx->conf.min_def, we have to make sure to take in ieee80211_get_sta_bw()
313 return ctx->conf.def.width; in ieee80211_get_chanctx_max_required_bw()
322 rcu_access_pointer(link->conf->chanctx_conf) != &ctx->conf) in ieee80211_get_chanctx_max_required_bw()
336 width = max(link->conf->chanreq.oper.width, in ieee80211_get_chanctx_max_required_bw()
345 width = link->conf->chanreq.oper.width; in ieee80211_get_chanctx_max_required_bw()
362 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &ctx->conf) in ieee80211_get_chanctx_max_required_bw()
363 max_bw = max(max_bw, ctx->conf.def.width); in ieee80211_get_chanctx_max_required_bw()
385 if (ctx->conf.def.width == NL80211_CHAN_WIDTH_5 || in _ieee80211_recalc_chanctx_min_def()
386 ctx->conf.def.width == NL80211_CHAN_WIDTH_10 || in _ieee80211_recalc_chanctx_min_def()
387 ctx->conf.def.width == NL80211_CHAN_WIDTH_1 || in _ieee80211_recalc_chanctx_min_def()
388 ctx->conf.def.width == NL80211_CHAN_WIDTH_2 || in _ieee80211_recalc_chanctx_min_def()
389 ctx->conf.def.width == NL80211_CHAN_WIDTH_4 || in _ieee80211_recalc_chanctx_min_def()
390 ctx->conf.def.width == NL80211_CHAN_WIDTH_8 || in _ieee80211_recalc_chanctx_min_def()
391 ctx->conf.def.width == NL80211_CHAN_WIDTH_16 || in _ieee80211_recalc_chanctx_min_def()
392 ctx->conf.radar_enabled) { in _ieee80211_recalc_chanctx_min_def()
393 ctx->conf.min_def = ctx->conf.def; in _ieee80211_recalc_chanctx_min_def()
401 min_def = ctx->conf.def; in _ieee80211_recalc_chanctx_min_def()
405 if (cfg80211_chandef_identical(&ctx->conf.min_def, &min_def)) in _ieee80211_recalc_chanctx_min_def()
408 ctx->conf.min_def = min_def; in _ieee80211_recalc_chanctx_min_def()
421 local->hw.wiphy->bands[ctx->conf.def.chan->band]; in ieee80211_chan_bw_change()
443 link_conf = link->conf; in ieee80211_chan_bw_change()
445 if (rcu_access_pointer(link_conf->chanctx_conf) != &ctx->conf) in ieee80211_chan_bw_change()
510 .oper = ctx->conf.def, in _ieee80211_change_chanctx()
511 .ap = ctx->conf.ap, in _ieee80211_change_chanctx()
541 !cfg80211_chandef_compatible(&ctx->conf.def, &chanreq->oper)); in _ieee80211_change_chanctx()
543 ieee80211_remove_wbrf(local, &ctx->conf.def); in _ieee80211_change_chanctx()
545 if (!cfg80211_chandef_identical(&ctx->conf.def, &chanreq->oper)) { in _ieee80211_change_chanctx()
546 if (ctx->conf.def.width != chanreq->oper.width) in _ieee80211_change_chanctx()
548 if (ctx->conf.def.punctured != chanreq->oper.punctured) in _ieee80211_change_chanctx()
551 if (!cfg80211_chandef_identical(&ctx->conf.ap, &chanreq->ap)) in _ieee80211_change_chanctx()
553 ctx->conf.def = *chandef; in _ieee80211_change_chanctx()
554 ctx->conf.ap = chanreq->ap; in _ieee80211_change_chanctx()
559 ieee80211_add_wbrf(local, &ctx->conf.def); in _ieee80211_change_chanctx()
647 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_chanctx_radar_required() local
653 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_chanctx_radar_required()
679 ctx->conf.def = chanreq->oper; in ieee80211_alloc_chanctx()
680 ctx->conf.ap = chanreq->ap; in ieee80211_alloc_chanctx()
681 ctx->conf.rx_chains_static = 1; in ieee80211_alloc_chanctx()
682 ctx->conf.rx_chains_dynamic = 1; in ieee80211_alloc_chanctx()
684 ctx->conf.radar_enabled = false; in ieee80211_alloc_chanctx()
685 ctx->conf.radio_idx = radio_idx; in ieee80211_alloc_chanctx()
700 ieee80211_add_wbrf(local, &ctx->conf.def); in ieee80211_add_chanctx()
755 ieee80211_remove_wbrf(local, &ctx->conf.def); in ieee80211_del_chanctx()
774 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_recalc_chanctx_chantype() local
788 link_conf = link->conf; in ieee80211_recalc_chanctx_chantype()
790 if (rcu_access_pointer(link_conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
822 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
846 if (radar_enabled == chanctx->conf.radar_enabled) in ieee80211_recalc_radar_chanctx()
849 chanctx->conf.radar_enabled = radar_enabled; in ieee80211_recalc_radar_chanctx()
860 struct ieee80211_chanctx_conf *conf; in ieee80211_assign_link_chanctx() local
868 conf = rcu_dereference_protected(link->conf->chanctx_conf, in ieee80211_assign_link_chanctx()
871 if (conf) { in ieee80211_assign_link_chanctx()
872 curr_ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_assign_link_chanctx()
874 drv_unassign_vif_chanctx(local, sdata, link->conf, curr_ctx); in ieee80211_assign_link_chanctx()
875 conf = NULL; in ieee80211_assign_link_chanctx()
883 ret = drv_assign_vif_chanctx(local, sdata, link->conf, new_ctx); in ieee80211_assign_link_chanctx()
890 conf = &new_ctx->conf; in ieee80211_assign_link_chanctx()
898 rcu_assign_pointer(link->conf->chanctx_conf, conf); in ieee80211_assign_link_chanctx()
912 if (conf) { in ieee80211_assign_link_chanctx()
919 if (rcu_access_pointer(tmp->conf->chanctx_conf)) { in ieee80211_assign_link_chanctx()
968 if (rcu_access_pointer(link->conf->chanctx_conf) != &chanctx->conf) in ieee80211_recalc_smps_chanctx()
997 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1000 if (rx_chains_static == chanctx->conf.rx_chains_static && in ieee80211_recalc_smps_chanctx()
1001 rx_chains_dynamic == chanctx->conf.rx_chains_dynamic) in ieee80211_recalc_smps_chanctx()
1004 chanctx->conf.rx_chains_static = rx_chains_static; in ieee80211_recalc_smps_chanctx()
1005 chanctx->conf.rx_chains_dynamic = rx_chains_dynamic; in ieee80211_recalc_smps_chanctx()
1015 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_copy_chanctx_to_vlans()
1018 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_copy_chanctx_to_vlans() local
1025 /* Check that conf exists, even when clearing this function in __ieee80211_link_copy_chanctx_to_vlans()
1031 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_copy_chanctx_to_vlans()
1033 WARN_ON(!conf); in __ieee80211_link_copy_chanctx_to_vlans()
1036 conf = NULL; in __ieee80211_link_copy_chanctx_to_vlans()
1046 rcu_assign_pointer(vlan_conf->chanctx_conf, conf); in __ieee80211_link_copy_chanctx_to_vlans()
1134 if (ctx->conf.radio_idx >= 0) { in ieee80211_replace_chanctx()
1135 radio = &wiphy->radio[ctx->conf.radio_idx]; in ieee80211_replace_chanctx()
1274 link->conf->chanreq = *chanreq; in ieee80211_link_update_chanreq()
1295 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1336 vif_chsw[0].old_ctx = &old_ctx->conf; in ieee80211_link_use_reserved_reassign()
1337 vif_chsw[0].new_ctx = &new_ctx->conf; in ieee80211_link_use_reserved_reassign()
1338 vif_chsw[0].link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1353 rcu_assign_pointer(link_conf->chanctx_conf, &new_ctx->conf); in ieee80211_link_use_reserved_reassign()
1482 vif_chsw[i].old_ctx = &old_ctx->conf; in ieee80211_chsw_switch_vifs()
1483 vif_chsw[i].new_ctx = &ctx->conf; in ieee80211_chsw_switch_vifs()
1484 vif_chsw[i].link_conf = link->conf; in ieee80211_chsw_switch_vifs()
1598 ctx->conf.radar_enabled = false; in ieee80211_vif_use_reserved_switch()
1617 ctx->conf.radar_enabled = true; in ieee80211_vif_use_reserved_switch()
1689 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_vif_use_reserved_switch()
1696 &ctx->conf); in ieee80211_vif_use_reserved_switch()
1811 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_release_channel()
1813 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_release_channel() local
1819 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_release_channel()
1821 if (!conf) in __ieee80211_link_release_channel()
1824 ctx = container_of(conf, struct ieee80211_chanctx, conf); in __ieee80211_link_release_channel()
2009 if (rcu_access_pointer(link->conf->chanctx_conf) == &ctx->conf) { in ieee80211_chanctx_recheck()
2011 &link->conf->chanreq, in ieee80211_chanctx_recheck()
2035 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_change_chanreq()
2037 struct ieee80211_chanctx_conf *conf; in ieee80211_link_change_chanreq() local
2059 conf = rcu_dereference_protected(link_conf->chanctx_conf, in ieee80211_link_change_chanreq()
2061 if (!conf) in ieee80211_link_change_chanreq()
2064 ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_link_change_chanreq()
2102 if (rcu_access_pointer(link->conf->chanctx_conf)) in ieee80211_link_release_channel()
2110 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_vlan_copy_chanctx()
2114 struct ieee80211_chanctx_conf *conf; in ieee80211_link_vlan_copy_chanctx() local
2125 conf = wiphy_dereference(local->hw.wiphy, in ieee80211_link_vlan_copy_chanctx()
2127 rcu_assign_pointer(link_conf->chanctx_conf, conf); in ieee80211_link_vlan_copy_chanctx()
2143 iter(hw, &ctx->conf, iter_data); in ieee80211_iter_chan_contexts_atomic()