Lines Matching refs:sdata

15 static inline bool check_sdata_in_driver(struct ieee80211_sub_if_data *sdata)  in check_sdata_in_driver()  argument
17 return !WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER), in check_sdata_in_driver()
19 sdata->dev ? sdata->dev->name : sdata->name, sdata->flags); in check_sdata_in_driver()
23 get_bss_sdata(struct ieee80211_sub_if_data *sdata) in get_bss_sdata() argument
25 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in get_bss_sdata()
26 sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, in get_bss_sdata()
29 return sdata; in get_bss_sdata()
43 trace_drv_sync_rx_queues(local, sta->sdata, &sta->sta); in drv_sync_rx_queues()
49 static inline void drv_get_et_strings(struct ieee80211_sub_if_data *sdata, in drv_get_et_strings() argument
52 struct ieee80211_local *local = sdata->local; in drv_get_et_strings()
55 local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data); in drv_get_et_strings()
60 static inline void drv_get_et_stats(struct ieee80211_sub_if_data *sdata, in drv_get_et_stats() argument
64 struct ieee80211_local *local = sdata->local; in drv_get_et_stats()
67 local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data); in drv_get_et_stats()
72 static inline int drv_get_et_sset_count(struct ieee80211_sub_if_data *sdata, in drv_get_et_sset_count() argument
75 struct ieee80211_local *local = sdata->local; in drv_get_et_sset_count()
79 rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif, in drv_get_et_sset_count()
130 struct ieee80211_sub_if_data *sdata);
133 struct ieee80211_sub_if_data *sdata,
137 struct ieee80211_sub_if_data *sdata);
152 struct ieee80211_sub_if_data *sdata, in drv_bss_info_changed() argument
160 sdata->vif.type != NL80211_IFTYPE_AP && in drv_bss_info_changed()
161 sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_bss_info_changed()
162 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in drv_bss_info_changed()
163 sdata->vif.type != NL80211_IFTYPE_OCB)) in drv_bss_info_changed()
166 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || in drv_bss_info_changed()
167 sdata->vif.type == NL80211_IFTYPE_NAN || in drv_bss_info_changed()
168 (sdata->vif.type == NL80211_IFTYPE_MONITOR && in drv_bss_info_changed()
169 !sdata->vif.mu_mimo_owner && in drv_bss_info_changed()
173 if (!check_sdata_in_driver(sdata)) in drv_bss_info_changed()
176 trace_drv_bss_info_changed(local, sdata, info, changed); in drv_bss_info_changed()
178 local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); in drv_bss_info_changed()
212 struct ieee80211_sub_if_data *sdata, in drv_config_iface_filter() argument
218 trace_drv_config_iface_filter(local, sdata, filter_flags, in drv_config_iface_filter()
221 local->ops->config_iface_filter(&local->hw, &sdata->vif, in drv_config_iface_filter()
240 struct ieee80211_sub_if_data *sdata, in drv_set_key() argument
248 sdata = get_bss_sdata(sdata); in drv_set_key()
249 if (!check_sdata_in_driver(sdata)) in drv_set_key()
252 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key()
253 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key()
259 struct ieee80211_sub_if_data *sdata, in drv_update_tkip_key() argument
269 sdata = get_bss_sdata(sdata); in drv_update_tkip_key()
270 if (!check_sdata_in_driver(sdata)) in drv_update_tkip_key()
273 trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); in drv_update_tkip_key()
275 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, in drv_update_tkip_key()
281 struct ieee80211_sub_if_data *sdata, in drv_hw_scan() argument
288 if (!check_sdata_in_driver(sdata)) in drv_hw_scan()
291 trace_drv_hw_scan(local, sdata); in drv_hw_scan()
292 ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); in drv_hw_scan()
298 struct ieee80211_sub_if_data *sdata) in drv_cancel_hw_scan() argument
302 if (!check_sdata_in_driver(sdata)) in drv_cancel_hw_scan()
305 trace_drv_cancel_hw_scan(local, sdata); in drv_cancel_hw_scan()
306 local->ops->cancel_hw_scan(&local->hw, &sdata->vif); in drv_cancel_hw_scan()
312 struct ieee80211_sub_if_data *sdata, in drv_sched_scan_start() argument
320 if (!check_sdata_in_driver(sdata)) in drv_sched_scan_start()
323 trace_drv_sched_scan_start(local, sdata); in drv_sched_scan_start()
324 ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, in drv_sched_scan_start()
331 struct ieee80211_sub_if_data *sdata) in drv_sched_scan_stop() argument
337 if (!check_sdata_in_driver(sdata)) in drv_sched_scan_stop()
340 trace_drv_sched_scan_stop(local, sdata); in drv_sched_scan_stop()
341 ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif); in drv_sched_scan_stop()
348 struct ieee80211_sub_if_data *sdata, in drv_sw_scan_start() argument
353 trace_drv_sw_scan_start(local, sdata, mac_addr); in drv_sw_scan_start()
355 local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr); in drv_sw_scan_start()
360 struct ieee80211_sub_if_data *sdata) in drv_sw_scan_complete() argument
364 trace_drv_sw_scan_complete(local, sdata); in drv_sw_scan_complete()
366 local->ops->sw_scan_complete(&local->hw, &sdata->vif); in drv_sw_scan_complete()
438 struct ieee80211_sub_if_data *sdata, in drv_sta_notify() argument
442 sdata = get_bss_sdata(sdata); in drv_sta_notify()
443 if (!check_sdata_in_driver(sdata)) in drv_sta_notify()
446 trace_drv_sta_notify(local, sdata, cmd, sta); in drv_sta_notify()
448 local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); in drv_sta_notify()
453 struct ieee80211_sub_if_data *sdata, in drv_sta_add() argument
460 sdata = get_bss_sdata(sdata); in drv_sta_add()
461 if (!check_sdata_in_driver(sdata)) in drv_sta_add()
464 trace_drv_sta_add(local, sdata, sta); in drv_sta_add()
466 ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); in drv_sta_add()
474 struct ieee80211_sub_if_data *sdata, in drv_sta_remove() argument
479 sdata = get_bss_sdata(sdata); in drv_sta_remove()
480 if (!check_sdata_in_driver(sdata)) in drv_sta_remove()
483 trace_drv_sta_remove(local, sdata, sta); in drv_sta_remove()
485 local->ops->sta_remove(&local->hw, &sdata->vif, sta); in drv_sta_remove()
492 struct ieee80211_sub_if_data *sdata, in drv_sta_add_debugfs() argument
498 sdata = get_bss_sdata(sdata); in drv_sta_add_debugfs()
499 if (!check_sdata_in_driver(sdata)) in drv_sta_add_debugfs()
503 local->ops->sta_add_debugfs(&local->hw, &sdata->vif, in drv_sta_add_debugfs()
509 struct ieee80211_sub_if_data *sdata, in drv_sta_pre_rcu_remove() argument
514 sdata = get_bss_sdata(sdata); in drv_sta_pre_rcu_remove()
515 if (!check_sdata_in_driver(sdata)) in drv_sta_pre_rcu_remove()
518 trace_drv_sta_pre_rcu_remove(local, sdata, &sta->sta); in drv_sta_pre_rcu_remove()
520 local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif, in drv_sta_pre_rcu_remove()
527 struct ieee80211_sub_if_data *sdata,
533 struct ieee80211_sub_if_data *sdata,
537 struct ieee80211_sub_if_data *sdata, in drv_sta_rate_tbl_update() argument
540 sdata = get_bss_sdata(sdata); in drv_sta_rate_tbl_update()
541 if (!check_sdata_in_driver(sdata)) in drv_sta_rate_tbl_update()
544 trace_drv_sta_rate_tbl_update(local, sdata, sta); in drv_sta_rate_tbl_update()
546 local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta); in drv_sta_rate_tbl_update()
552 struct ieee80211_sub_if_data *sdata, in drv_sta_statistics() argument
556 sdata = get_bss_sdata(sdata); in drv_sta_statistics()
557 if (!check_sdata_in_driver(sdata)) in drv_sta_statistics()
560 trace_drv_sta_statistics(local, sdata, sta); in drv_sta_statistics()
562 local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo); in drv_sta_statistics()
567 struct ieee80211_sub_if_data *sdata, u16 ac,
571 struct ieee80211_sub_if_data *sdata);
573 struct ieee80211_sub_if_data *sdata,
576 struct ieee80211_sub_if_data *sdata,
579 struct ieee80211_sub_if_data *sdata);
595 struct ieee80211_sub_if_data *sdata,
622 struct ieee80211_sub_if_data *sdata, in drv_flush() argument
625 struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL; in drv_flush()
629 if (sdata && !check_sdata_in_driver(sdata)) in drv_flush()
639 struct ieee80211_sub_if_data *sdata, in drv_channel_switch() argument
644 trace_drv_channel_switch(local, sdata, ch_switch); in drv_channel_switch()
645 local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch); in drv_channel_switch()
673 struct ieee80211_sub_if_data *sdata, in drv_remain_on_channel() argument
682 trace_drv_remain_on_channel(local, sdata, chan, duration, type); in drv_remain_on_channel()
683 ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, in drv_remain_on_channel()
744 struct ieee80211_sub_if_data *sdata, in drv_set_bitrate_mask() argument
751 if (!check_sdata_in_driver(sdata)) in drv_set_bitrate_mask()
754 trace_drv_set_bitrate_mask(local, sdata, mask); in drv_set_bitrate_mask()
757 &sdata->vif, mask); in drv_set_bitrate_mask()
764 struct ieee80211_sub_if_data *sdata, in drv_set_rekey_data() argument
767 if (!check_sdata_in_driver(sdata)) in drv_set_rekey_data()
770 trace_drv_set_rekey_data(local, sdata, data); in drv_set_rekey_data()
772 local->ops->set_rekey_data(&local->hw, &sdata->vif, data); in drv_set_rekey_data()
777 struct ieee80211_sub_if_data *sdata, in drv_event_callback() argument
780 trace_drv_event_callback(local, sdata, event); in drv_event_callback()
782 local->ops->event_callback(&local->hw, &sdata->vif, event); in drv_event_callback()
817 struct ieee80211_sub_if_data *sdata, in drv_mgd_prepare_tx() argument
822 if (!check_sdata_in_driver(sdata)) in drv_mgd_prepare_tx()
824 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_prepare_tx()
826 trace_drv_mgd_prepare_tx(local, sdata, duration); in drv_mgd_prepare_tx()
828 local->ops->mgd_prepare_tx(&local->hw, &sdata->vif, duration); in drv_mgd_prepare_tx()
834 struct ieee80211_sub_if_data *sdata) in drv_mgd_protect_tdls_discover() argument
838 if (!check_sdata_in_driver(sdata)) in drv_mgd_protect_tdls_discover()
840 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_protect_tdls_discover()
842 trace_drv_mgd_protect_tdls_discover(local, sdata); in drv_mgd_protect_tdls_discover()
844 local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif); in drv_mgd_protect_tdls_discover()
895 struct ieee80211_sub_if_data *sdata, in drv_assign_vif_chanctx() argument
900 if (!check_sdata_in_driver(sdata)) in drv_assign_vif_chanctx()
903 trace_drv_assign_vif_chanctx(local, sdata, ctx); in drv_assign_vif_chanctx()
907 &sdata->vif, in drv_assign_vif_chanctx()
916 struct ieee80211_sub_if_data *sdata, in drv_unassign_vif_chanctx() argument
921 if (!check_sdata_in_driver(sdata)) in drv_unassign_vif_chanctx()
924 trace_drv_unassign_vif_chanctx(local, sdata, ctx); in drv_unassign_vif_chanctx()
928 &sdata->vif, in drv_unassign_vif_chanctx()
939 struct ieee80211_sub_if_data *sdata) in drv_start_ap() argument
945 if (!check_sdata_in_driver(sdata)) in drv_start_ap()
948 trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); in drv_start_ap()
950 ret = local->ops->start_ap(&local->hw, &sdata->vif); in drv_start_ap()
956 struct ieee80211_sub_if_data *sdata) in drv_stop_ap() argument
958 if (!check_sdata_in_driver(sdata)) in drv_stop_ap()
961 trace_drv_stop_ap(local, sdata); in drv_stop_ap()
963 local->ops->stop_ap(&local->hw, &sdata->vif); in drv_stop_ap()
981 struct ieee80211_sub_if_data *sdata, in drv_set_default_unicast_key() argument
984 if (!check_sdata_in_driver(sdata)) in drv_set_default_unicast_key()
989 trace_drv_set_default_unicast_key(local, sdata, key_idx); in drv_set_default_unicast_key()
991 local->ops->set_default_unicast_key(&local->hw, &sdata->vif, in drv_set_default_unicast_key()
998 struct ieee80211_sub_if_data *sdata, in drv_ipv6_addr_change() argument
1001 trace_drv_ipv6_addr_change(local, sdata); in drv_ipv6_addr_change()
1003 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); in drv_ipv6_addr_change()
1009 drv_channel_switch_beacon(struct ieee80211_sub_if_data *sdata, in drv_channel_switch_beacon() argument
1012 struct ieee80211_local *local = sdata->local; in drv_channel_switch_beacon()
1015 trace_drv_channel_switch_beacon(local, sdata, chandef); in drv_channel_switch_beacon()
1016 local->ops->channel_switch_beacon(&local->hw, &sdata->vif, in drv_channel_switch_beacon()
1022 drv_pre_channel_switch(struct ieee80211_sub_if_data *sdata, in drv_pre_channel_switch() argument
1025 struct ieee80211_local *local = sdata->local; in drv_pre_channel_switch()
1028 if (!check_sdata_in_driver(sdata)) in drv_pre_channel_switch()
1031 trace_drv_pre_channel_switch(local, sdata, ch_switch); in drv_pre_channel_switch()
1033 ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif, in drv_pre_channel_switch()
1040 drv_post_channel_switch(struct ieee80211_sub_if_data *sdata) in drv_post_channel_switch() argument
1042 struct ieee80211_local *local = sdata->local; in drv_post_channel_switch()
1045 if (!check_sdata_in_driver(sdata)) in drv_post_channel_switch()
1048 trace_drv_post_channel_switch(local, sdata); in drv_post_channel_switch()
1050 ret = local->ops->post_channel_switch(&local->hw, &sdata->vif); in drv_post_channel_switch()
1056 struct ieee80211_sub_if_data *sdata) in drv_join_ibss() argument
1061 if (!check_sdata_in_driver(sdata)) in drv_join_ibss()
1064 trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf); in drv_join_ibss()
1066 ret = local->ops->join_ibss(&local->hw, &sdata->vif); in drv_join_ibss()
1072 struct ieee80211_sub_if_data *sdata) in drv_leave_ibss() argument
1075 if (!check_sdata_in_driver(sdata)) in drv_leave_ibss()
1078 trace_drv_leave_ibss(local, sdata); in drv_leave_ibss()
1080 local->ops->leave_ibss(&local->hw, &sdata->vif); in drv_leave_ibss()
1098 struct ieee80211_sub_if_data *sdata, int *dbm) in drv_get_txpower() argument
1105 ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm); in drv_get_txpower()
1106 trace_drv_get_txpower(local, sdata, *dbm, ret); in drv_get_txpower()
1113 struct ieee80211_sub_if_data *sdata, in drv_tdls_channel_switch() argument
1121 if (!check_sdata_in_driver(sdata)) in drv_tdls_channel_switch()
1127 trace_drv_tdls_channel_switch(local, sdata, sta, oper_class, chandef); in drv_tdls_channel_switch()
1128 ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta, in drv_tdls_channel_switch()
1137 struct ieee80211_sub_if_data *sdata, in drv_tdls_cancel_channel_switch() argument
1141 if (!check_sdata_in_driver(sdata)) in drv_tdls_cancel_channel_switch()
1147 trace_drv_tdls_cancel_channel_switch(local, sdata, sta); in drv_tdls_cancel_channel_switch()
1148 local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta); in drv_tdls_cancel_channel_switch()
1154 struct ieee80211_sub_if_data *sdata, in drv_tdls_recv_channel_switch() argument
1157 trace_drv_tdls_recv_channel_switch(local, sdata, params); in drv_tdls_recv_channel_switch()
1159 local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif, in drv_tdls_recv_channel_switch()
1167 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif); in drv_wake_tx_queue() local
1169 if (!check_sdata_in_driver(sdata)) in drv_wake_tx_queue()
1172 trace_drv_wake_tx_queue(local, sdata, txq); in drv_wake_tx_queue()
1177 struct ieee80211_sub_if_data *sdata, in drv_start_nan() argument
1183 check_sdata_in_driver(sdata); in drv_start_nan()
1185 trace_drv_start_nan(local, sdata, conf); in drv_start_nan()
1186 ret = local->ops->start_nan(&local->hw, &sdata->vif, conf); in drv_start_nan()
1192 struct ieee80211_sub_if_data *sdata) in drv_stop_nan() argument
1195 check_sdata_in_driver(sdata); in drv_stop_nan()
1197 trace_drv_stop_nan(local, sdata); in drv_stop_nan()
1198 local->ops->stop_nan(&local->hw, &sdata->vif); in drv_stop_nan()
1203 struct ieee80211_sub_if_data *sdata, in drv_nan_change_conf() argument
1210 check_sdata_in_driver(sdata); in drv_nan_change_conf()
1215 trace_drv_nan_change_conf(local, sdata, conf, changes); in drv_nan_change_conf()
1216 ret = local->ops->nan_change_conf(&local->hw, &sdata->vif, conf, in drv_nan_change_conf()
1224 struct ieee80211_sub_if_data *sdata, in drv_add_nan_func() argument
1230 check_sdata_in_driver(sdata); in drv_add_nan_func()
1235 trace_drv_add_nan_func(local, sdata, nan_func); in drv_add_nan_func()
1236 ret = local->ops->add_nan_func(&local->hw, &sdata->vif, nan_func); in drv_add_nan_func()
1243 struct ieee80211_sub_if_data *sdata, in drv_del_nan_func() argument
1247 check_sdata_in_driver(sdata); in drv_del_nan_func()
1249 trace_drv_del_nan_func(local, sdata, instance_id); in drv_del_nan_func()
1251 local->ops->del_nan_func(&local->hw, &sdata->vif, instance_id); in drv_del_nan_func()