Lines Matching refs: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()
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()
334 width = link->conf->chanreq.oper.width; in ieee80211_get_chanctx_max_required_bw()
357 width = link->conf->chanreq.oper.width; in ieee80211_get_chanctx_max_required_bw()
373 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &ctx->conf) in ieee80211_get_chanctx_max_required_bw()
374 max_bw = max(max_bw, ctx->conf.def.width); in ieee80211_get_chanctx_max_required_bw()
396 if (ctx->conf.def.width == NL80211_CHAN_WIDTH_5 || in _ieee80211_recalc_chanctx_min_def()
397 ctx->conf.def.width == NL80211_CHAN_WIDTH_10 || in _ieee80211_recalc_chanctx_min_def()
398 ctx->conf.def.width == NL80211_CHAN_WIDTH_1 || in _ieee80211_recalc_chanctx_min_def()
399 ctx->conf.def.width == NL80211_CHAN_WIDTH_2 || in _ieee80211_recalc_chanctx_min_def()
400 ctx->conf.def.width == NL80211_CHAN_WIDTH_4 || in _ieee80211_recalc_chanctx_min_def()
401 ctx->conf.def.width == NL80211_CHAN_WIDTH_8 || in _ieee80211_recalc_chanctx_min_def()
402 ctx->conf.def.width == NL80211_CHAN_WIDTH_16 || in _ieee80211_recalc_chanctx_min_def()
403 ctx->conf.radar_enabled) { in _ieee80211_recalc_chanctx_min_def()
404 ctx->conf.min_def = ctx->conf.def; in _ieee80211_recalc_chanctx_min_def()
412 min_def = ctx->conf.def; in _ieee80211_recalc_chanctx_min_def()
416 if (cfg80211_chandef_identical(&ctx->conf.min_def, &min_def)) in _ieee80211_recalc_chanctx_min_def()
419 ctx->conf.min_def = min_def; in _ieee80211_recalc_chanctx_min_def()
432 local->hw.wiphy->bands[ctx->conf.def.chan->band]; in ieee80211_chan_bw_change()
454 link_conf = link->conf; in ieee80211_chan_bw_change()
456 if (rcu_access_pointer(link_conf->chanctx_conf) != &ctx->conf) in ieee80211_chan_bw_change()
521 .oper = ctx->conf.def, in _ieee80211_change_chanctx()
522 .ap = ctx->conf.ap, in _ieee80211_change_chanctx()
552 !cfg80211_chandef_compatible(&ctx->conf.def, &chanreq->oper)); in _ieee80211_change_chanctx()
554 ieee80211_remove_wbrf(local, &ctx->conf.def); in _ieee80211_change_chanctx()
556 if (!cfg80211_chandef_identical(&ctx->conf.def, &chanreq->oper)) { in _ieee80211_change_chanctx()
557 if (ctx->conf.def.width != chanreq->oper.width) in _ieee80211_change_chanctx()
559 if (ctx->conf.def.punctured != chanreq->oper.punctured) in _ieee80211_change_chanctx()
562 if (!cfg80211_chandef_identical(&ctx->conf.ap, &chanreq->ap)) in _ieee80211_change_chanctx()
564 ctx->conf.def = *chandef; in _ieee80211_change_chanctx()
565 ctx->conf.ap = chanreq->ap; in _ieee80211_change_chanctx()
570 ieee80211_add_wbrf(local, &ctx->conf.def); in _ieee80211_change_chanctx()
658 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_chanctx_radar_required() local
664 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_chanctx_radar_required()
690 ctx->conf.def = chanreq->oper; in ieee80211_alloc_chanctx()
691 ctx->conf.ap = chanreq->ap; in ieee80211_alloc_chanctx()
692 ctx->conf.rx_chains_static = 1; in ieee80211_alloc_chanctx()
693 ctx->conf.rx_chains_dynamic = 1; in ieee80211_alloc_chanctx()
695 ctx->conf.radar_enabled = false; in ieee80211_alloc_chanctx()
696 ctx->conf.radio_idx = radio_idx; in ieee80211_alloc_chanctx()
711 ieee80211_add_wbrf(local, &ctx->conf.def); in ieee80211_add_chanctx()
766 ieee80211_remove_wbrf(local, &ctx->conf.def); in ieee80211_del_chanctx()
785 struct ieee80211_chanctx_conf *conf = &ctx->conf; in ieee80211_recalc_chanctx_chantype() local
799 link_conf = link->conf; in ieee80211_recalc_chanctx_chantype()
801 if (rcu_access_pointer(link_conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
833 if (rcu_access_pointer(link->conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype()
857 if (radar_enabled == chanctx->conf.radar_enabled) in ieee80211_recalc_radar_chanctx()
860 chanctx->conf.radar_enabled = radar_enabled; in ieee80211_recalc_radar_chanctx()
871 struct ieee80211_chanctx_conf *conf; in ieee80211_assign_link_chanctx() local
879 conf = rcu_dereference_protected(link->conf->chanctx_conf, in ieee80211_assign_link_chanctx()
882 if (conf) { in ieee80211_assign_link_chanctx()
883 curr_ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_assign_link_chanctx()
885 drv_unassign_vif_chanctx(local, sdata, link->conf, curr_ctx); in ieee80211_assign_link_chanctx()
886 conf = NULL; in ieee80211_assign_link_chanctx()
894 ret = drv_assign_vif_chanctx(local, sdata, link->conf, new_ctx); in ieee80211_assign_link_chanctx()
901 conf = &new_ctx->conf; in ieee80211_assign_link_chanctx()
909 rcu_assign_pointer(link->conf->chanctx_conf, conf); in ieee80211_assign_link_chanctx()
923 if (conf) { in ieee80211_assign_link_chanctx()
930 if (rcu_access_pointer(tmp->conf->chanctx_conf)) { in ieee80211_assign_link_chanctx()
983 if (rcu_access_pointer(link->conf->chanctx_conf) != &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1017 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1020 if (rx_chains_static == chanctx->conf.rx_chains_static && in ieee80211_recalc_smps_chanctx()
1021 rx_chains_dynamic == chanctx->conf.rx_chains_dynamic) in ieee80211_recalc_smps_chanctx()
1024 chanctx->conf.rx_chains_static = rx_chains_static; in ieee80211_recalc_smps_chanctx()
1025 chanctx->conf.rx_chains_dynamic = rx_chains_dynamic; in ieee80211_recalc_smps_chanctx()
1035 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_copy_chanctx_to_vlans()
1038 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_copy_chanctx_to_vlans() local
1051 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_copy_chanctx_to_vlans()
1053 WARN_ON(!conf); in __ieee80211_link_copy_chanctx_to_vlans()
1056 conf = NULL; in __ieee80211_link_copy_chanctx_to_vlans()
1066 rcu_assign_pointer(vlan_conf->chanctx_conf, conf); in __ieee80211_link_copy_chanctx_to_vlans()
1154 if (ctx->conf.radio_idx >= 0) { in ieee80211_replace_chanctx()
1155 radio = &wiphy->radio[ctx->conf.radio_idx]; in ieee80211_replace_chanctx()
1299 link->conf->chanreq = *chanreq; in ieee80211_link_update_chanreq()
1320 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1361 vif_chsw[0].old_ctx = &old_ctx->conf; in ieee80211_link_use_reserved_reassign()
1362 vif_chsw[0].new_ctx = &new_ctx->conf; in ieee80211_link_use_reserved_reassign()
1363 vif_chsw[0].link_conf = link->conf; in ieee80211_link_use_reserved_reassign()
1378 rcu_assign_pointer(link_conf->chanctx_conf, &new_ctx->conf); in ieee80211_link_use_reserved_reassign()
1507 vif_chsw[i].old_ctx = &old_ctx->conf; in ieee80211_chsw_switch_vifs()
1508 vif_chsw[i].new_ctx = &ctx->conf; in ieee80211_chsw_switch_vifs()
1509 vif_chsw[i].link_conf = link->conf; in ieee80211_chsw_switch_vifs()
1623 ctx->conf.radar_enabled = false; in ieee80211_vif_use_reserved_switch()
1642 ctx->conf.radar_enabled = true; in ieee80211_vif_use_reserved_switch()
1714 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_vif_use_reserved_switch()
1721 &ctx->conf); in ieee80211_vif_use_reserved_switch()
1836 struct ieee80211_bss_conf *link_conf = link->conf; in __ieee80211_link_release_channel()
1838 struct ieee80211_chanctx_conf *conf; in __ieee80211_link_release_channel() local
1844 conf = rcu_dereference_protected(link_conf->chanctx_conf, in __ieee80211_link_release_channel()
1846 if (!conf) in __ieee80211_link_release_channel()
1849 ctx = container_of(conf, struct ieee80211_chanctx, conf); in __ieee80211_link_release_channel()
2036 if (rcu_access_pointer(link->conf->chanctx_conf) == &ctx->conf) { in ieee80211_chanctx_recheck()
2038 &link->conf->chanreq, in ieee80211_chanctx_recheck()
2062 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_change_chanreq()
2064 struct ieee80211_chanctx_conf *conf; in ieee80211_link_change_chanreq() local
2086 conf = rcu_dereference_protected(link_conf->chanctx_conf, in ieee80211_link_change_chanreq()
2088 if (!conf) in ieee80211_link_change_chanreq()
2091 ctx = container_of(conf, struct ieee80211_chanctx, conf); in ieee80211_link_change_chanreq()
2129 if (rcu_access_pointer(link->conf->chanctx_conf)) in ieee80211_link_release_channel()
2137 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_link_vlan_copy_chanctx()
2141 struct ieee80211_chanctx_conf *conf; in ieee80211_link_vlan_copy_chanctx() local
2152 conf = wiphy_dereference(local->hw.wiphy, in ieee80211_link_vlan_copy_chanctx()
2154 rcu_assign_pointer(link_conf->chanctx_conf, conf); in ieee80211_link_vlan_copy_chanctx()
2170 iter(hw, &ctx->conf, iter_data); in ieee80211_iter_chan_contexts_atomic()