Lines Matching refs:sdata

15 #define check_sdata_in_driver(sdata)	({					\  argument
16 !WARN_ONCE(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER), \
18 sdata->dev ? sdata->dev->name : sdata->name, sdata->flags); \
22 get_bss_sdata(struct ieee80211_sub_if_data *sdata) in get_bss_sdata() argument
24 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in get_bss_sdata()
25 sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, in get_bss_sdata()
28 return sdata; in get_bss_sdata()
42 trace_drv_sync_rx_queues(local, sta->sdata, &sta->sta); in drv_sync_rx_queues()
48 static inline void drv_get_et_strings(struct ieee80211_sub_if_data *sdata, in drv_get_et_strings() argument
51 struct ieee80211_local *local = sdata->local; in drv_get_et_strings()
54 local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data); in drv_get_et_strings()
59 static inline void drv_get_et_stats(struct ieee80211_sub_if_data *sdata, in drv_get_et_stats() argument
63 struct ieee80211_local *local = sdata->local; in drv_get_et_stats()
66 local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data); in drv_get_et_stats()
71 static inline int drv_get_et_sset_count(struct ieee80211_sub_if_data *sdata, in drv_get_et_sset_count() argument
74 struct ieee80211_local *local = sdata->local; in drv_get_et_sset_count()
78 rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif, in drv_get_et_sset_count()
129 struct ieee80211_sub_if_data *sdata);
132 struct ieee80211_sub_if_data *sdata,
136 struct ieee80211_sub_if_data *sdata);
151 struct ieee80211_sub_if_data *sdata, in drv_bss_info_changed() argument
159 sdata->vif.type != NL80211_IFTYPE_AP && in drv_bss_info_changed()
160 sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_bss_info_changed()
161 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in drv_bss_info_changed()
162 sdata->vif.type != NL80211_IFTYPE_OCB)) in drv_bss_info_changed()
165 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || in drv_bss_info_changed()
166 sdata->vif.type == NL80211_IFTYPE_NAN || in drv_bss_info_changed()
167 (sdata->vif.type == NL80211_IFTYPE_MONITOR && in drv_bss_info_changed()
168 !sdata->vif.mu_mimo_owner && in drv_bss_info_changed()
172 if (!check_sdata_in_driver(sdata)) in drv_bss_info_changed()
175 trace_drv_bss_info_changed(local, sdata, info, changed); in drv_bss_info_changed()
177 local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); in drv_bss_info_changed()
211 struct ieee80211_sub_if_data *sdata, in drv_config_iface_filter() argument
217 trace_drv_config_iface_filter(local, sdata, filter_flags, in drv_config_iface_filter()
220 local->ops->config_iface_filter(&local->hw, &sdata->vif, in drv_config_iface_filter()
239 struct ieee80211_sub_if_data *sdata, in drv_set_key() argument
247 sdata = get_bss_sdata(sdata); in drv_set_key()
248 if (!check_sdata_in_driver(sdata)) in drv_set_key()
251 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key()
252 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key()
258 struct ieee80211_sub_if_data *sdata, in drv_update_tkip_key() argument
268 sdata = get_bss_sdata(sdata); in drv_update_tkip_key()
269 if (!check_sdata_in_driver(sdata)) in drv_update_tkip_key()
272 trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); in drv_update_tkip_key()
274 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, in drv_update_tkip_key()
280 struct ieee80211_sub_if_data *sdata, in drv_hw_scan() argument
287 if (!check_sdata_in_driver(sdata)) in drv_hw_scan()
290 trace_drv_hw_scan(local, sdata); in drv_hw_scan()
291 ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); in drv_hw_scan()
297 struct ieee80211_sub_if_data *sdata) in drv_cancel_hw_scan() argument
301 if (!check_sdata_in_driver(sdata)) in drv_cancel_hw_scan()
304 trace_drv_cancel_hw_scan(local, sdata); in drv_cancel_hw_scan()
305 local->ops->cancel_hw_scan(&local->hw, &sdata->vif); in drv_cancel_hw_scan()
311 struct ieee80211_sub_if_data *sdata, in drv_sched_scan_start() argument
319 if (!check_sdata_in_driver(sdata)) in drv_sched_scan_start()
322 trace_drv_sched_scan_start(local, sdata); in drv_sched_scan_start()
323 ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, in drv_sched_scan_start()
330 struct ieee80211_sub_if_data *sdata) in drv_sched_scan_stop() argument
336 if (!check_sdata_in_driver(sdata)) in drv_sched_scan_stop()
339 trace_drv_sched_scan_stop(local, sdata); in drv_sched_scan_stop()
340 ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif); in drv_sched_scan_stop()
347 struct ieee80211_sub_if_data *sdata, in drv_sw_scan_start() argument
352 trace_drv_sw_scan_start(local, sdata, mac_addr); in drv_sw_scan_start()
354 local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr); in drv_sw_scan_start()
359 struct ieee80211_sub_if_data *sdata) in drv_sw_scan_complete() argument
363 trace_drv_sw_scan_complete(local, sdata); in drv_sw_scan_complete()
365 local->ops->sw_scan_complete(&local->hw, &sdata->vif); in drv_sw_scan_complete()
437 struct ieee80211_sub_if_data *sdata, in drv_sta_notify() argument
441 sdata = get_bss_sdata(sdata); in drv_sta_notify()
442 if (!check_sdata_in_driver(sdata)) in drv_sta_notify()
445 trace_drv_sta_notify(local, sdata, cmd, sta); in drv_sta_notify()
447 local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); in drv_sta_notify()
452 struct ieee80211_sub_if_data *sdata, in drv_sta_add() argument
459 sdata = get_bss_sdata(sdata); in drv_sta_add()
460 if (!check_sdata_in_driver(sdata)) in drv_sta_add()
463 trace_drv_sta_add(local, sdata, sta); in drv_sta_add()
465 ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); in drv_sta_add()
473 struct ieee80211_sub_if_data *sdata, in drv_sta_remove() argument
478 sdata = get_bss_sdata(sdata); in drv_sta_remove()
479 if (!check_sdata_in_driver(sdata)) in drv_sta_remove()
482 trace_drv_sta_remove(local, sdata, sta); in drv_sta_remove()
484 local->ops->sta_remove(&local->hw, &sdata->vif, sta); in drv_sta_remove()
491 struct ieee80211_sub_if_data *sdata, in drv_sta_add_debugfs() argument
497 sdata = get_bss_sdata(sdata); in drv_sta_add_debugfs()
498 if (!check_sdata_in_driver(sdata)) in drv_sta_add_debugfs()
502 local->ops->sta_add_debugfs(&local->hw, &sdata->vif, in drv_sta_add_debugfs()
508 struct ieee80211_sub_if_data *sdata, in drv_sta_pre_rcu_remove() argument
513 sdata = get_bss_sdata(sdata); in drv_sta_pre_rcu_remove()
514 if (!check_sdata_in_driver(sdata)) in drv_sta_pre_rcu_remove()
517 trace_drv_sta_pre_rcu_remove(local, sdata, &sta->sta); in drv_sta_pre_rcu_remove()
519 local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif, in drv_sta_pre_rcu_remove()
526 struct ieee80211_sub_if_data *sdata,
533 struct ieee80211_sub_if_data *sdata,
537 struct ieee80211_sub_if_data *sdata,
541 struct ieee80211_sub_if_data *sdata, in drv_sta_rate_tbl_update() argument
544 sdata = get_bss_sdata(sdata); in drv_sta_rate_tbl_update()
545 if (!check_sdata_in_driver(sdata)) in drv_sta_rate_tbl_update()
548 trace_drv_sta_rate_tbl_update(local, sdata, sta); in drv_sta_rate_tbl_update()
550 local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta); in drv_sta_rate_tbl_update()
556 struct ieee80211_sub_if_data *sdata, in drv_sta_statistics() argument
560 sdata = get_bss_sdata(sdata); in drv_sta_statistics()
561 if (!check_sdata_in_driver(sdata)) in drv_sta_statistics()
564 trace_drv_sta_statistics(local, sdata, sta); in drv_sta_statistics()
566 local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo); in drv_sta_statistics()
571 struct ieee80211_sub_if_data *sdata, u16 ac,
575 struct ieee80211_sub_if_data *sdata);
577 struct ieee80211_sub_if_data *sdata,
580 struct ieee80211_sub_if_data *sdata,
583 struct ieee80211_sub_if_data *sdata);
599 struct ieee80211_sub_if_data *sdata,
626 struct ieee80211_sub_if_data *sdata, in drv_flush() argument
629 struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL; in drv_flush()
633 if (sdata && !check_sdata_in_driver(sdata)) in drv_flush()
643 struct ieee80211_sub_if_data *sdata, in drv_channel_switch() argument
648 trace_drv_channel_switch(local, sdata, ch_switch); in drv_channel_switch()
649 local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch); in drv_channel_switch()
677 struct ieee80211_sub_if_data *sdata, in drv_remain_on_channel() argument
686 trace_drv_remain_on_channel(local, sdata, chan, duration, type); in drv_remain_on_channel()
687 ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, in drv_remain_on_channel()
696 struct ieee80211_sub_if_data *sdata) in drv_cancel_remain_on_channel() argument
702 trace_drv_cancel_remain_on_channel(local, sdata); in drv_cancel_remain_on_channel()
703 ret = local->ops->cancel_remain_on_channel(&local->hw, &sdata->vif); in drv_cancel_remain_on_channel()
750 struct ieee80211_sub_if_data *sdata, in drv_set_bitrate_mask() argument
757 if (!check_sdata_in_driver(sdata)) in drv_set_bitrate_mask()
760 trace_drv_set_bitrate_mask(local, sdata, mask); in drv_set_bitrate_mask()
763 &sdata->vif, mask); in drv_set_bitrate_mask()
770 struct ieee80211_sub_if_data *sdata, in drv_set_rekey_data() argument
773 if (!check_sdata_in_driver(sdata)) in drv_set_rekey_data()
776 trace_drv_set_rekey_data(local, sdata, data); in drv_set_rekey_data()
778 local->ops->set_rekey_data(&local->hw, &sdata->vif, data); in drv_set_rekey_data()
783 struct ieee80211_sub_if_data *sdata, in drv_event_callback() argument
786 trace_drv_event_callback(local, sdata, event); in drv_event_callback()
788 local->ops->event_callback(&local->hw, &sdata->vif, event); in drv_event_callback()
823 struct ieee80211_sub_if_data *sdata, in drv_mgd_prepare_tx() argument
828 if (!check_sdata_in_driver(sdata)) in drv_mgd_prepare_tx()
830 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_prepare_tx()
832 trace_drv_mgd_prepare_tx(local, sdata, duration); in drv_mgd_prepare_tx()
834 local->ops->mgd_prepare_tx(&local->hw, &sdata->vif, duration); in drv_mgd_prepare_tx()
840 struct ieee80211_sub_if_data *sdata) in drv_mgd_protect_tdls_discover() argument
844 if (!check_sdata_in_driver(sdata)) in drv_mgd_protect_tdls_discover()
846 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_protect_tdls_discover()
848 trace_drv_mgd_protect_tdls_discover(local, sdata); in drv_mgd_protect_tdls_discover()
850 local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif); in drv_mgd_protect_tdls_discover()
901 struct ieee80211_sub_if_data *sdata, in drv_assign_vif_chanctx() argument
906 if (!check_sdata_in_driver(sdata)) in drv_assign_vif_chanctx()
909 trace_drv_assign_vif_chanctx(local, sdata, ctx); in drv_assign_vif_chanctx()
913 &sdata->vif, in drv_assign_vif_chanctx()
922 struct ieee80211_sub_if_data *sdata, in drv_unassign_vif_chanctx() argument
927 if (!check_sdata_in_driver(sdata)) in drv_unassign_vif_chanctx()
930 trace_drv_unassign_vif_chanctx(local, sdata, ctx); in drv_unassign_vif_chanctx()
934 &sdata->vif, in drv_unassign_vif_chanctx()
945 struct ieee80211_sub_if_data *sdata) in drv_start_ap() argument
951 if (!check_sdata_in_driver(sdata)) in drv_start_ap()
954 trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); in drv_start_ap()
956 ret = local->ops->start_ap(&local->hw, &sdata->vif); in drv_start_ap()
962 struct ieee80211_sub_if_data *sdata) in drv_stop_ap() argument
964 if (!check_sdata_in_driver(sdata)) in drv_stop_ap()
967 trace_drv_stop_ap(local, sdata); in drv_stop_ap()
969 local->ops->stop_ap(&local->hw, &sdata->vif); in drv_stop_ap()
987 struct ieee80211_sub_if_data *sdata, in drv_set_default_unicast_key() argument
990 if (!check_sdata_in_driver(sdata)) in drv_set_default_unicast_key()
995 trace_drv_set_default_unicast_key(local, sdata, key_idx); in drv_set_default_unicast_key()
997 local->ops->set_default_unicast_key(&local->hw, &sdata->vif, in drv_set_default_unicast_key()
1004 struct ieee80211_sub_if_data *sdata, in drv_ipv6_addr_change() argument
1007 trace_drv_ipv6_addr_change(local, sdata); in drv_ipv6_addr_change()
1009 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); in drv_ipv6_addr_change()
1015 drv_channel_switch_beacon(struct ieee80211_sub_if_data *sdata, in drv_channel_switch_beacon() argument
1018 struct ieee80211_local *local = sdata->local; in drv_channel_switch_beacon()
1021 trace_drv_channel_switch_beacon(local, sdata, chandef); in drv_channel_switch_beacon()
1022 local->ops->channel_switch_beacon(&local->hw, &sdata->vif, in drv_channel_switch_beacon()
1028 drv_pre_channel_switch(struct ieee80211_sub_if_data *sdata, in drv_pre_channel_switch() argument
1031 struct ieee80211_local *local = sdata->local; in drv_pre_channel_switch()
1034 if (!check_sdata_in_driver(sdata)) in drv_pre_channel_switch()
1037 trace_drv_pre_channel_switch(local, sdata, ch_switch); in drv_pre_channel_switch()
1039 ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif, in drv_pre_channel_switch()
1046 drv_post_channel_switch(struct ieee80211_sub_if_data *sdata) in drv_post_channel_switch() argument
1048 struct ieee80211_local *local = sdata->local; in drv_post_channel_switch()
1051 if (!check_sdata_in_driver(sdata)) in drv_post_channel_switch()
1054 trace_drv_post_channel_switch(local, sdata); in drv_post_channel_switch()
1056 ret = local->ops->post_channel_switch(&local->hw, &sdata->vif); in drv_post_channel_switch()
1062 drv_abort_channel_switch(struct ieee80211_sub_if_data *sdata) in drv_abort_channel_switch() argument
1064 struct ieee80211_local *local = sdata->local; in drv_abort_channel_switch()
1066 if (!check_sdata_in_driver(sdata)) in drv_abort_channel_switch()
1069 trace_drv_abort_channel_switch(local, sdata); in drv_abort_channel_switch()
1072 local->ops->abort_channel_switch(&local->hw, &sdata->vif); in drv_abort_channel_switch()
1076 drv_channel_switch_rx_beacon(struct ieee80211_sub_if_data *sdata, in drv_channel_switch_rx_beacon() argument
1079 struct ieee80211_local *local = sdata->local; in drv_channel_switch_rx_beacon()
1081 if (!check_sdata_in_driver(sdata)) in drv_channel_switch_rx_beacon()
1084 trace_drv_channel_switch_rx_beacon(local, sdata, ch_switch); in drv_channel_switch_rx_beacon()
1086 local->ops->channel_switch_rx_beacon(&local->hw, &sdata->vif, in drv_channel_switch_rx_beacon()
1091 struct ieee80211_sub_if_data *sdata) in drv_join_ibss() argument
1096 if (!check_sdata_in_driver(sdata)) in drv_join_ibss()
1099 trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf); in drv_join_ibss()
1101 ret = local->ops->join_ibss(&local->hw, &sdata->vif); in drv_join_ibss()
1107 struct ieee80211_sub_if_data *sdata) in drv_leave_ibss() argument
1110 if (!check_sdata_in_driver(sdata)) in drv_leave_ibss()
1113 trace_drv_leave_ibss(local, sdata); in drv_leave_ibss()
1115 local->ops->leave_ibss(&local->hw, &sdata->vif); in drv_leave_ibss()
1133 struct ieee80211_sub_if_data *sdata, int *dbm) in drv_get_txpower() argument
1140 ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm); in drv_get_txpower()
1141 trace_drv_get_txpower(local, sdata, *dbm, ret); in drv_get_txpower()
1148 struct ieee80211_sub_if_data *sdata, in drv_tdls_channel_switch() argument
1156 if (!check_sdata_in_driver(sdata)) in drv_tdls_channel_switch()
1162 trace_drv_tdls_channel_switch(local, sdata, sta, oper_class, chandef); in drv_tdls_channel_switch()
1163 ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta, in drv_tdls_channel_switch()
1172 struct ieee80211_sub_if_data *sdata, in drv_tdls_cancel_channel_switch() argument
1176 if (!check_sdata_in_driver(sdata)) in drv_tdls_cancel_channel_switch()
1182 trace_drv_tdls_cancel_channel_switch(local, sdata, sta); in drv_tdls_cancel_channel_switch()
1183 local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta); in drv_tdls_cancel_channel_switch()
1189 struct ieee80211_sub_if_data *sdata, in drv_tdls_recv_channel_switch() argument
1192 trace_drv_tdls_recv_channel_switch(local, sdata, params); in drv_tdls_recv_channel_switch()
1194 local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif, in drv_tdls_recv_channel_switch()
1202 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif); in drv_wake_tx_queue() local
1207 if (!check_sdata_in_driver(sdata)) in drv_wake_tx_queue()
1210 trace_drv_wake_tx_queue(local, sdata, txq); in drv_wake_tx_queue()
1233 struct ieee80211_sub_if_data *sdata, in drv_get_ftm_responder_stats() argument
1240 &sdata->vif, in drv_get_ftm_responder_stats()
1242 trace_drv_get_ftm_responder_stats(local, sdata, ftm_stats); in drv_get_ftm_responder_stats()
1248 struct ieee80211_sub_if_data *sdata, in drv_start_pmsr() argument
1254 if (!check_sdata_in_driver(sdata)) in drv_start_pmsr()
1257 trace_drv_start_pmsr(local, sdata); in drv_start_pmsr()
1260 ret = local->ops->start_pmsr(&local->hw, &sdata->vif, request); in drv_start_pmsr()
1267 struct ieee80211_sub_if_data *sdata, in drv_abort_pmsr() argument
1270 trace_drv_abort_pmsr(local, sdata); in drv_abort_pmsr()
1273 if (!check_sdata_in_driver(sdata)) in drv_abort_pmsr()
1277 local->ops->abort_pmsr(&local->hw, &sdata->vif, request); in drv_abort_pmsr()
1282 struct ieee80211_sub_if_data *sdata, in drv_start_nan() argument
1288 check_sdata_in_driver(sdata); in drv_start_nan()
1290 trace_drv_start_nan(local, sdata, conf); in drv_start_nan()
1291 ret = local->ops->start_nan(&local->hw, &sdata->vif, conf); in drv_start_nan()
1297 struct ieee80211_sub_if_data *sdata) in drv_stop_nan() argument
1300 check_sdata_in_driver(sdata); in drv_stop_nan()
1302 trace_drv_stop_nan(local, sdata); in drv_stop_nan()
1303 local->ops->stop_nan(&local->hw, &sdata->vif); in drv_stop_nan()
1308 struct ieee80211_sub_if_data *sdata, in drv_nan_change_conf() argument
1315 check_sdata_in_driver(sdata); in drv_nan_change_conf()
1320 trace_drv_nan_change_conf(local, sdata, conf, changes); in drv_nan_change_conf()
1321 ret = local->ops->nan_change_conf(&local->hw, &sdata->vif, conf, in drv_nan_change_conf()
1329 struct ieee80211_sub_if_data *sdata, in drv_add_nan_func() argument
1335 check_sdata_in_driver(sdata); in drv_add_nan_func()
1340 trace_drv_add_nan_func(local, sdata, nan_func); in drv_add_nan_func()
1341 ret = local->ops->add_nan_func(&local->hw, &sdata->vif, nan_func); in drv_add_nan_func()
1348 struct ieee80211_sub_if_data *sdata, in drv_del_nan_func() argument
1352 check_sdata_in_driver(sdata); in drv_del_nan_func()
1354 trace_drv_del_nan_func(local, sdata, instance_id); in drv_del_nan_func()
1356 local->ops->del_nan_func(&local->hw, &sdata->vif, instance_id); in drv_del_nan_func()
1361 struct ieee80211_sub_if_data *sdata, in drv_set_tid_config() argument
1368 ret = local->ops->set_tid_config(&local->hw, &sdata->vif, sta, in drv_set_tid_config()
1376 struct ieee80211_sub_if_data *sdata, in drv_reset_tid_config() argument
1382 ret = local->ops->reset_tid_config(&local->hw, &sdata->vif, sta, tids); in drv_reset_tid_config()
1389 struct ieee80211_sub_if_data *sdata) in drv_update_vif_offload() argument
1392 check_sdata_in_driver(sdata); in drv_update_vif_offload()
1397 trace_drv_update_vif_offload(local, sdata); in drv_update_vif_offload()
1398 local->ops->update_vif_offload(&local->hw, &sdata->vif); in drv_update_vif_offload()
1403 struct ieee80211_sub_if_data *sdata, in drv_sta_set_4addr() argument
1406 sdata = get_bss_sdata(sdata); in drv_sta_set_4addr()
1407 if (!check_sdata_in_driver(sdata)) in drv_sta_set_4addr()
1410 trace_drv_sta_set_4addr(local, sdata, sta, enabled); in drv_sta_set_4addr()
1412 local->ops->sta_set_4addr(&local->hw, &sdata->vif, sta, enabled); in drv_sta_set_4addr()