Lines Matching refs:sdata
8 static inline void check_sdata_in_driver(struct ieee80211_sub_if_data *sdata) in check_sdata_in_driver() argument
10 WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER), in check_sdata_in_driver()
12 sdata->dev ? sdata->dev->name : sdata->name, sdata->flags); in check_sdata_in_driver()
16 get_bss_sdata(struct ieee80211_sub_if_data *sdata) in get_bss_sdata() argument
18 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in get_bss_sdata()
19 sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, in get_bss_sdata()
22 return sdata; in get_bss_sdata()
32 static inline void drv_get_et_strings(struct ieee80211_sub_if_data *sdata, in drv_get_et_strings() argument
35 struct ieee80211_local *local = sdata->local; in drv_get_et_strings()
38 local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data); in drv_get_et_strings()
43 static inline void drv_get_et_stats(struct ieee80211_sub_if_data *sdata, in drv_get_et_stats() argument
47 struct ieee80211_local *local = sdata->local; in drv_get_et_stats()
50 local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data); in drv_get_et_stats()
55 static inline int drv_get_et_sset_count(struct ieee80211_sub_if_data *sdata, in drv_get_et_sset_count() argument
58 struct ieee80211_local *local = sdata->local; in drv_get_et_sset_count()
62 rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif, in drv_get_et_sset_count()
141 struct ieee80211_sub_if_data *sdata) in drv_add_interface() argument
147 if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_AP_VLAN || in drv_add_interface()
148 (sdata->vif.type == NL80211_IFTYPE_MONITOR && in drv_add_interface()
152 trace_drv_add_interface(local, sdata); in drv_add_interface()
153 ret = local->ops->add_interface(&local->hw, &sdata->vif); in drv_add_interface()
157 sdata->flags |= IEEE80211_SDATA_IN_DRIVER; in drv_add_interface()
163 struct ieee80211_sub_if_data *sdata, in drv_change_interface() argument
170 check_sdata_in_driver(sdata); in drv_change_interface()
172 trace_drv_change_interface(local, sdata, type, p2p); in drv_change_interface()
173 ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p); in drv_change_interface()
179 struct ieee80211_sub_if_data *sdata) in drv_remove_interface() argument
183 check_sdata_in_driver(sdata); in drv_remove_interface()
185 trace_drv_remove_interface(local, sdata); in drv_remove_interface()
186 local->ops->remove_interface(&local->hw, &sdata->vif); in drv_remove_interface()
187 sdata->flags &= ~IEEE80211_SDATA_IN_DRIVER; in drv_remove_interface()
204 struct ieee80211_sub_if_data *sdata, in drv_bss_info_changed() argument
212 sdata->vif.type != NL80211_IFTYPE_AP && in drv_bss_info_changed()
213 sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_bss_info_changed()
214 sdata->vif.type != NL80211_IFTYPE_MESH_POINT)) in drv_bss_info_changed()
217 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || in drv_bss_info_changed()
218 sdata->vif.type == NL80211_IFTYPE_MONITOR)) in drv_bss_info_changed()
221 check_sdata_in_driver(sdata); in drv_bss_info_changed()
223 trace_drv_bss_info_changed(local, sdata, info, changed); in drv_bss_info_changed()
225 local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); in drv_bss_info_changed()
245 struct ieee80211_sub_if_data *sdata, in drv_set_multicast_list() argument
248 bool allmulti = sdata->flags & IEEE80211_SDATA_ALLMULTI; in drv_set_multicast_list()
250 trace_drv_set_multicast_list(local, sdata, mc_list->count); in drv_set_multicast_list()
252 check_sdata_in_driver(sdata); in drv_set_multicast_list()
255 local->ops->set_multicast_list(&local->hw, &sdata->vif, in drv_set_multicast_list()
287 struct ieee80211_sub_if_data *sdata, in drv_set_key() argument
295 sdata = get_bss_sdata(sdata); in drv_set_key()
296 check_sdata_in_driver(sdata); in drv_set_key()
298 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key()
299 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key()
305 struct ieee80211_sub_if_data *sdata, in drv_update_tkip_key() argument
315 sdata = get_bss_sdata(sdata); in drv_update_tkip_key()
316 check_sdata_in_driver(sdata); in drv_update_tkip_key()
318 trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); in drv_update_tkip_key()
320 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, in drv_update_tkip_key()
326 struct ieee80211_sub_if_data *sdata, in drv_hw_scan() argument
333 check_sdata_in_driver(sdata); in drv_hw_scan()
335 trace_drv_hw_scan(local, sdata); in drv_hw_scan()
336 ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); in drv_hw_scan()
342 struct ieee80211_sub_if_data *sdata) in drv_cancel_hw_scan() argument
346 check_sdata_in_driver(sdata); in drv_cancel_hw_scan()
348 trace_drv_cancel_hw_scan(local, sdata); in drv_cancel_hw_scan()
349 local->ops->cancel_hw_scan(&local->hw, &sdata->vif); in drv_cancel_hw_scan()
355 struct ieee80211_sub_if_data *sdata, in drv_sched_scan_start() argument
363 check_sdata_in_driver(sdata); in drv_sched_scan_start()
365 trace_drv_sched_scan_start(local, sdata); in drv_sched_scan_start()
366 ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, in drv_sched_scan_start()
373 struct ieee80211_sub_if_data *sdata) in drv_sched_scan_stop() argument
377 check_sdata_in_driver(sdata); in drv_sched_scan_stop()
379 trace_drv_sched_scan_stop(local, sdata); in drv_sched_scan_stop()
380 local->ops->sched_scan_stop(&local->hw, &sdata->vif); in drv_sched_scan_stop()
471 struct ieee80211_sub_if_data *sdata, in drv_sta_notify() argument
475 sdata = get_bss_sdata(sdata); in drv_sta_notify()
476 check_sdata_in_driver(sdata); in drv_sta_notify()
478 trace_drv_sta_notify(local, sdata, cmd, sta); in drv_sta_notify()
480 local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); in drv_sta_notify()
485 struct ieee80211_sub_if_data *sdata, in drv_sta_add() argument
492 sdata = get_bss_sdata(sdata); in drv_sta_add()
493 check_sdata_in_driver(sdata); in drv_sta_add()
495 trace_drv_sta_add(local, sdata, sta); in drv_sta_add()
497 ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); in drv_sta_add()
505 struct ieee80211_sub_if_data *sdata, in drv_sta_remove() argument
510 sdata = get_bss_sdata(sdata); in drv_sta_remove()
511 check_sdata_in_driver(sdata); in drv_sta_remove()
513 trace_drv_sta_remove(local, sdata, sta); in drv_sta_remove()
515 local->ops->sta_remove(&local->hw, &sdata->vif, sta); in drv_sta_remove()
522 struct ieee80211_sub_if_data *sdata, in drv_sta_add_debugfs() argument
528 sdata = get_bss_sdata(sdata); in drv_sta_add_debugfs()
529 check_sdata_in_driver(sdata); in drv_sta_add_debugfs()
532 local->ops->sta_add_debugfs(&local->hw, &sdata->vif, in drv_sta_add_debugfs()
537 struct ieee80211_sub_if_data *sdata, in drv_sta_remove_debugfs() argument
543 sdata = get_bss_sdata(sdata); in drv_sta_remove_debugfs()
544 check_sdata_in_driver(sdata); in drv_sta_remove_debugfs()
547 local->ops->sta_remove_debugfs(&local->hw, &sdata->vif, in drv_sta_remove_debugfs()
554 struct ieee80211_sub_if_data *sdata, in drv_sta_state() argument
563 sdata = get_bss_sdata(sdata); in drv_sta_state()
564 check_sdata_in_driver(sdata); in drv_sta_state()
566 trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state); in drv_sta_state()
568 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, in drv_sta_state()
572 ret = drv_sta_add(local, sdata, &sta->sta); in drv_sta_state()
577 drv_sta_remove(local, sdata, &sta->sta); in drv_sta_state()
584 struct ieee80211_sub_if_data *sdata, in drv_sta_rc_update() argument
587 sdata = get_bss_sdata(sdata); in drv_sta_rc_update()
588 check_sdata_in_driver(sdata); in drv_sta_rc_update()
591 (sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_sta_rc_update()
592 sdata->vif.type != NL80211_IFTYPE_MESH_POINT)); in drv_sta_rc_update()
594 trace_drv_sta_rc_update(local, sdata, sta, changed); in drv_sta_rc_update()
596 local->ops->sta_rc_update(&local->hw, &sdata->vif, in drv_sta_rc_update()
603 struct ieee80211_sub_if_data *sdata, u16 ac, in drv_conf_tx() argument
610 check_sdata_in_driver(sdata); in drv_conf_tx()
612 trace_drv_conf_tx(local, sdata, ac, params); in drv_conf_tx()
614 ret = local->ops->conf_tx(&local->hw, &sdata->vif, in drv_conf_tx()
621 struct ieee80211_sub_if_data *sdata) in drv_get_tsf() argument
627 check_sdata_in_driver(sdata); in drv_get_tsf()
629 trace_drv_get_tsf(local, sdata); in drv_get_tsf()
631 ret = local->ops->get_tsf(&local->hw, &sdata->vif); in drv_get_tsf()
637 struct ieee80211_sub_if_data *sdata, in drv_set_tsf() argument
642 check_sdata_in_driver(sdata); in drv_set_tsf()
644 trace_drv_set_tsf(local, sdata, tsf); in drv_set_tsf()
646 local->ops->set_tsf(&local->hw, &sdata->vif, tsf); in drv_set_tsf()
651 struct ieee80211_sub_if_data *sdata) in drv_reset_tsf() argument
655 check_sdata_in_driver(sdata); in drv_reset_tsf()
657 trace_drv_reset_tsf(local, sdata); in drv_reset_tsf()
659 local->ops->reset_tsf(&local->hw, &sdata->vif); in drv_reset_tsf()
677 struct ieee80211_sub_if_data *sdata, in drv_ampdu_action() argument
686 sdata = get_bss_sdata(sdata); in drv_ampdu_action()
687 check_sdata_in_driver(sdata); in drv_ampdu_action()
689 trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn, buf_size); in drv_ampdu_action()
692 ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, in drv_ampdu_action()
768 struct ieee80211_sub_if_data *sdata, in drv_remain_on_channel() argument
777 trace_drv_remain_on_channel(local, sdata, chan, duration, type); in drv_remain_on_channel()
778 ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, in drv_remain_on_channel()
839 struct ieee80211_sub_if_data *sdata, in drv_set_bitrate_mask() argument
846 check_sdata_in_driver(sdata); in drv_set_bitrate_mask()
848 trace_drv_set_bitrate_mask(local, sdata, mask); in drv_set_bitrate_mask()
851 &sdata->vif, mask); in drv_set_bitrate_mask()
858 struct ieee80211_sub_if_data *sdata, in drv_set_rekey_data() argument
861 check_sdata_in_driver(sdata); in drv_set_rekey_data()
863 trace_drv_set_rekey_data(local, sdata, data); in drv_set_rekey_data()
865 local->ops->set_rekey_data(&local->hw, &sdata->vif, data); in drv_set_rekey_data()
870 struct ieee80211_sub_if_data *sdata, in drv_rssi_callback() argument
873 trace_drv_rssi_callback(local, sdata, event); in drv_rssi_callback()
875 local->ops->rssi_callback(&local->hw, &sdata->vif, event); in drv_rssi_callback()
910 struct ieee80211_sub_if_data *sdata, in drv_get_rssi() argument
918 ret = local->ops->get_rssi(&local->hw, &sdata->vif, sta, rssi_dbm); in drv_get_rssi()
925 struct ieee80211_sub_if_data *sdata) in drv_mgd_prepare_tx() argument
929 check_sdata_in_driver(sdata); in drv_mgd_prepare_tx()
930 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_prepare_tx()
932 trace_drv_mgd_prepare_tx(local, sdata); in drv_mgd_prepare_tx()
934 local->ops->mgd_prepare_tx(&local->hw, &sdata->vif); in drv_mgd_prepare_tx()
976 struct ieee80211_sub_if_data *sdata, in drv_assign_vif_chanctx() argument
981 check_sdata_in_driver(sdata); in drv_assign_vif_chanctx()
983 trace_drv_assign_vif_chanctx(local, sdata, ctx); in drv_assign_vif_chanctx()
987 &sdata->vif, in drv_assign_vif_chanctx()
996 struct ieee80211_sub_if_data *sdata, in drv_unassign_vif_chanctx() argument
999 check_sdata_in_driver(sdata); in drv_unassign_vif_chanctx()
1001 trace_drv_unassign_vif_chanctx(local, sdata, ctx); in drv_unassign_vif_chanctx()
1005 &sdata->vif, in drv_unassign_vif_chanctx()
1012 struct ieee80211_sub_if_data *sdata) in drv_start_ap() argument
1016 check_sdata_in_driver(sdata); in drv_start_ap()
1018 trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); in drv_start_ap()
1020 ret = local->ops->start_ap(&local->hw, &sdata->vif); in drv_start_ap()
1026 struct ieee80211_sub_if_data *sdata) in drv_stop_ap() argument
1028 check_sdata_in_driver(sdata); in drv_stop_ap()
1030 trace_drv_stop_ap(local, sdata); in drv_stop_ap()
1032 local->ops->stop_ap(&local->hw, &sdata->vif); in drv_stop_ap()
1048 struct ieee80211_sub_if_data *sdata, in drv_set_default_unicast_key() argument
1051 check_sdata_in_driver(sdata); in drv_set_default_unicast_key()
1055 trace_drv_set_default_unicast_key(local, sdata, key_idx); in drv_set_default_unicast_key()
1057 local->ops->set_default_unicast_key(&local->hw, &sdata->vif, in drv_set_default_unicast_key()
1064 struct ieee80211_sub_if_data *sdata, in drv_ipv6_addr_change() argument
1067 trace_drv_ipv6_addr_change(local, sdata); in drv_ipv6_addr_change()
1069 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); in drv_ipv6_addr_change()