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()
665 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_chanctx_radar_required() local
671 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_chanctx_radar_required()
697 ctx->conf.def = chanreq->oper; in ieee80211_alloc_chanctx()
698 ctx->conf.ap = chanreq->ap; in ieee80211_alloc_chanctx()
699 ctx->conf.rx_chains_static = 1; in ieee80211_alloc_chanctx()
700 ctx->conf.rx_chains_dynamic = 1; in ieee80211_alloc_chanctx()
702 ctx->conf.radar_enabled = false; in ieee80211_alloc_chanctx()
703 ctx->conf.radio_idx = radio_idx; in ieee80211_alloc_chanctx()
718 ieee80211_add_wbrf(local, &ctx->conf.def); in ieee80211_add_chanctx()
773 ieee80211_remove_wbrf(local, &ctx->conf.def); in ieee80211_del_chanctx()
792 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_recalc_chanctx_chantype() local
806 link_conf = link->conf; in ieee80211_recalc_chanctx_chantype()
808 if (rcu_access_pointer(link_conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
840 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
864 if (radar_enabled == chanctx->conf.radar_enabled) in ieee80211_recalc_radar_chanctx()
867 chanctx->conf.radar_enabled = radar_enabled; in ieee80211_recalc_radar_chanctx()
878 struct ieee80211_chanctx_conf *conf; in ieee80211_assign_link_chanctx() local
886 conf = rcu_dereference_protected(link->conf->chanctx_conf, in ieee80211_assign_link_chanctx()
889 if (conf) { in ieee80211_assign_link_chanctx()
890 curr_ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_assign_link_chanctx()
892 drv_unassign_vif_chanctx(local, sdata, link->conf, curr_ctx); in ieee80211_assign_link_chanctx()
893 conf = NULL; in ieee80211_assign_link_chanctx()
901 ret = drv_assign_vif_chanctx(local, sdata, link->conf, new_ctx); in ieee80211_assign_link_chanctx()
908 conf = &new_ctx->conf; in ieee80211_assign_link_chanctx()
916 rcu_assign_pointer(link->conf->chanctx_conf, conf); in ieee80211_assign_link_chanctx()
930 if (conf) { in ieee80211_assign_link_chanctx()
937 if (rcu_access_pointer(tmp->conf->chanctx_conf)) { in ieee80211_assign_link_chanctx()
990 if (rcu_access_pointer(link->conf->chanctx_conf) != &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1024 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1027 if (rx_chains_static == chanctx->conf.rx_chains_static && in ieee80211_recalc_smps_chanctx()
1028 rx_chains_dynamic == chanctx->conf.rx_chains_dynamic) in ieee80211_recalc_smps_chanctx()
1031 chanctx->conf.rx_chains_static = rx_chains_static; in ieee80211_recalc_smps_chanctx()
1032 chanctx->conf.rx_chains_dynamic = rx_chains_dynamic; in ieee80211_recalc_smps_chanctx()
1042 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_copy_chanctx_to_vlans()
1045 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_copy_chanctx_to_vlans() local
1052 /* Check that conf exists, even when clearing this function in __ieee80211_link_copy_chanctx_to_vlans()
1058 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_copy_chanctx_to_vlans()
1060 WARN_ON(!conf); in __ieee80211_link_copy_chanctx_to_vlans()
1063 conf = NULL; in __ieee80211_link_copy_chanctx_to_vlans()
1073 rcu_assign_pointer(vlan_conf->chanctx_conf, conf); in __ieee80211_link_copy_chanctx_to_vlans()
1161 if (ctx->conf.radio_idx >= 0) { in ieee80211_replace_chanctx()
1162 radio = &wiphy->radio[ctx->conf.radio_idx]; in ieee80211_replace_chanctx()
1306 link->conf->chanreq = *chanreq; in ieee80211_link_update_chanreq()
1327 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1368 vif_chsw[0].old_ctx = &old_ctx->conf; in ieee80211_link_use_reserved_reassign()
1369 vif_chsw[0].new_ctx = &new_ctx->conf; in ieee80211_link_use_reserved_reassign()
1370 vif_chsw[0].link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1385 rcu_assign_pointer(link_conf->chanctx_conf, &new_ctx->conf); in ieee80211_link_use_reserved_reassign()
1514 vif_chsw[i].old_ctx = &old_ctx->conf; in ieee80211_chsw_switch_vifs()
1515 vif_chsw[i].new_ctx = &ctx->conf; in ieee80211_chsw_switch_vifs()
1516 vif_chsw[i].link_conf = link->conf; in ieee80211_chsw_switch_vifs()
1630 ctx->conf.radar_enabled = false; in ieee80211_vif_use_reserved_switch()
1649 ctx->conf.radar_enabled = true; in ieee80211_vif_use_reserved_switch()
1721 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_vif_use_reserved_switch()
1728 &ctx->conf); in ieee80211_vif_use_reserved_switch()
1843 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_release_channel()
1845 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_release_channel() local
1851 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_release_channel()
1853 if (!conf) in __ieee80211_link_release_channel()
1856 ctx = container_of(conf, struct ieee80211_chanctx, conf); in __ieee80211_link_release_channel()
2043 if (rcu_access_pointer(link->conf->chanctx_conf) == &ctx->conf) { in ieee80211_chanctx_recheck()
2045 &link->conf->chanreq, in ieee80211_chanctx_recheck()
2069 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_change_chanreq()
2071 struct ieee80211_chanctx_conf *conf; in ieee80211_link_change_chanreq() local
2093 conf = rcu_dereference_protected(link_conf->chanctx_conf, in ieee80211_link_change_chanreq()
2095 if (!conf) in ieee80211_link_change_chanreq()
2098 ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_link_change_chanreq()
2136 if (rcu_access_pointer(link->conf->chanctx_conf)) in ieee80211_link_release_channel()
2144 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_vlan_copy_chanctx()
2148 struct ieee80211_chanctx_conf *conf; in ieee80211_link_vlan_copy_chanctx() local
2159 conf = wiphy_dereference(local->hw.wiphy, in ieee80211_link_vlan_copy_chanctx()
2161 rcu_assign_pointer(link_conf->chanctx_conf, conf); in ieee80211_link_vlan_copy_chanctx()
2177 iter(hw, &ctx->conf, iter_data); in ieee80211_iter_chan_contexts_atomic()