Lines Matching refs:sdata
28 struct ieee80211_sub_if_data *sdata, in ieee80211_if_read() argument
37 ret = (*format)(sdata, buf, sizeof(buf)); in ieee80211_if_read()
47 struct ieee80211_sub_if_data *sdata, in ieee80211_if_write() argument
64 ret = (*write)(sdata, buf, count); in ieee80211_if_write()
72 const struct ieee80211_sub_if_data *sdata, char *buf, \
75 return scnprintf(buf, buflen, format_string, sdata->field); \
88 const struct ieee80211_sub_if_data *sdata, \
93 for (i = 0; i < sizeof(sdata->field); i++) { \
95 sdata->field[i]); \
103 const struct ieee80211_sub_if_data *sdata, \
106 return scnprintf(buf, buflen, "%d\n", atomic_read(&sdata->field));\
111 const struct ieee80211_sub_if_data *sdata, char *buf, \
114 return scnprintf(buf, buflen, "%pM\n", sdata->field); \
119 const struct ieee80211_sub_if_data *sdata, \
122 return scnprintf(buf, buflen, "%d\n", sdata->field / 16); \
127 const struct ieee80211_sub_if_data *sdata, \
131 jiffies_to_msecs(sdata->field)); \
196 ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_hw_queues() argument
202 sdata->vif.hw_queue[IEEE80211_AC_VO], in ieee80211_if_fmt_hw_queues()
203 sdata->vif.hw_queue[IEEE80211_AC_VI], in ieee80211_if_fmt_hw_queues()
204 sdata->vif.hw_queue[IEEE80211_AC_BE], in ieee80211_if_fmt_hw_queues()
205 sdata->vif.hw_queue[IEEE80211_AC_BK]); in ieee80211_if_fmt_hw_queues()
207 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_if_fmt_hw_queues()
209 sdata->vif.cab_queue); in ieee80211_if_fmt_hw_queues()
222 static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata, in ieee80211_set_smps() argument
225 struct ieee80211_local *local = sdata->local; in ieee80211_set_smps()
238 if (sdata->vif.type != NL80211_IFTYPE_STATION && in ieee80211_set_smps()
239 sdata->vif.type != NL80211_IFTYPE_AP) in ieee80211_set_smps()
242 sdata_lock(sdata); in ieee80211_set_smps()
243 if (sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_set_smps()
244 err = __ieee80211_request_smps_mgd(sdata, smps_mode); in ieee80211_set_smps()
246 err = __ieee80211_request_smps_ap(sdata, smps_mode); in ieee80211_set_smps()
247 sdata_unlock(sdata); in ieee80211_set_smps()
259 static ssize_t ieee80211_if_fmt_smps(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_smps() argument
262 if (sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_if_fmt_smps()
264 smps_modes[sdata->u.mgd.req_smps], in ieee80211_if_fmt_smps()
265 smps_modes[sdata->smps_mode]); in ieee80211_if_fmt_smps()
266 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_if_fmt_smps()
268 smps_modes[sdata->u.ap.req_smps], in ieee80211_if_fmt_smps()
269 smps_modes[sdata->smps_mode]); in ieee80211_if_fmt_smps()
273 static ssize_t ieee80211_if_parse_smps(struct ieee80211_sub_if_data *sdata, in ieee80211_if_parse_smps() argument
280 int err = ieee80211_set_smps(sdata, mode); in ieee80211_if_parse_smps()
292 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tkip_mic_test() argument
294 struct ieee80211_local *local = sdata->local; in ieee80211_if_parse_tkip_mic_test()
303 if (!ieee80211_sdata_running(sdata)) in ieee80211_if_parse_tkip_mic_test()
315 switch (sdata->vif.type) { in ieee80211_if_parse_tkip_mic_test()
320 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
321 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
326 sdata_lock(sdata); in ieee80211_if_parse_tkip_mic_test()
327 if (!sdata->u.mgd.associated) { in ieee80211_if_parse_tkip_mic_test()
328 sdata_unlock(sdata); in ieee80211_if_parse_tkip_mic_test()
332 memcpy(hdr->addr1, sdata->u.mgd.associated->bssid, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
333 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
335 sdata_unlock(sdata); in ieee80211_if_parse_tkip_mic_test()
352 ieee80211_tx_skb(sdata, skb); in ieee80211_if_parse_tkip_mic_test()
359 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_beacon_loss() argument
361 if (!ieee80211_sdata_running(sdata) || !sdata->vif.bss_conf.assoc) in ieee80211_if_parse_beacon_loss()
364 ieee80211_beacon_loss(&sdata->vif); in ieee80211_if_parse_beacon_loss()
371 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_uapsd_queues() argument
373 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_uapsd_queues()
379 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_uapsd_queues() argument
381 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_uapsd_queues()
399 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_uapsd_max_sp_len() argument
401 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_uapsd_max_sp_len()
407 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_uapsd_max_sp_len() argument
409 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_uapsd_max_sp_len()
432 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_num_buffered_multicast() argument
435 skb_queue_len(&sdata->u.ap.ps.bc_buf)); in ieee80211_if_fmt_num_buffered_multicast()
441 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_tsf() argument
443 struct ieee80211_local *local = sdata->local; in ieee80211_if_fmt_tsf()
446 tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata); in ieee80211_if_fmt_tsf()
452 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tsf() argument
454 struct ieee80211_local *local = sdata->local; in ieee80211_if_parse_tsf()
461 drv_reset_tsf(local, sdata); in ieee80211_if_parse_tsf()
478 tsf = drv_get_tsf(local, sdata) + tsf_is_delta * tsf; in ieee80211_if_parse_tsf()
480 drv_set_tsf(local, sdata, tsf); in ieee80211_if_parse_tsf()
486 ieee80211_recalc_dtim(local, sdata); in ieee80211_if_parse_tsf()
557 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \
558 sdata, &name##_ops);
562 static void add_common_files(struct ieee80211_sub_if_data *sdata) in add_common_files() argument
571 static void add_sta_files(struct ieee80211_sub_if_data *sdata) in add_sta_files() argument
585 static void add_ap_files(struct ieee80211_sub_if_data *sdata) in add_ap_files() argument
595 static void add_ibss_files(struct ieee80211_sub_if_data *sdata) in add_ibss_files() argument
600 static void add_wds_files(struct ieee80211_sub_if_data *sdata) in add_wds_files() argument
607 static void add_mesh_files(struct ieee80211_sub_if_data *sdata) in add_mesh_files() argument
613 static void add_mesh_stats(struct ieee80211_sub_if_data *sdata) in add_mesh_stats() argument
616 sdata->vif.debugfs_dir); in add_mesh_stats()
618 debugfs_create_file(#name, 0400, dir, sdata, &name##_ops); in add_mesh_stats()
629 static void add_mesh_config(struct ieee80211_sub_if_data *sdata) in add_mesh_config() argument
632 sdata->vif.debugfs_dir); in add_mesh_config()
635 debugfs_create_file(#name, 0600, dir, sdata, &name##_ops); in add_mesh_config()
667 static void add_files(struct ieee80211_sub_if_data *sdata) in add_files() argument
669 if (!sdata->vif.debugfs_dir) in add_files()
678 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) in add_files()
679 add_common_files(sdata); in add_files()
681 switch (sdata->vif.type) { in add_files()
684 add_mesh_files(sdata); in add_files()
685 add_mesh_stats(sdata); in add_files()
686 add_mesh_config(sdata); in add_files()
690 add_sta_files(sdata); in add_files()
693 add_ibss_files(sdata); in add_files()
696 add_ap_files(sdata); in add_files()
699 add_wds_files(sdata); in add_files()
706 void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_add_netdev() argument
710 sprintf(buf, "netdev:%s", sdata->name); in ieee80211_debugfs_add_netdev()
711 sdata->vif.debugfs_dir = debugfs_create_dir(buf, in ieee80211_debugfs_add_netdev()
712 sdata->local->hw.wiphy->debugfsdir); in ieee80211_debugfs_add_netdev()
713 if (sdata->vif.debugfs_dir) in ieee80211_debugfs_add_netdev()
714 sdata->debugfs.subdir_stations = debugfs_create_dir("stations", in ieee80211_debugfs_add_netdev()
715 sdata->vif.debugfs_dir); in ieee80211_debugfs_add_netdev()
716 add_files(sdata); in ieee80211_debugfs_add_netdev()
719 void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_remove_netdev() argument
721 if (!sdata->vif.debugfs_dir) in ieee80211_debugfs_remove_netdev()
724 debugfs_remove_recursive(sdata->vif.debugfs_dir); in ieee80211_debugfs_remove_netdev()
725 sdata->vif.debugfs_dir = NULL; in ieee80211_debugfs_remove_netdev()
726 sdata->debugfs.subdir_stations = NULL; in ieee80211_debugfs_remove_netdev()
729 void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_rename_netdev() argument
734 dir = sdata->vif.debugfs_dir; in ieee80211_debugfs_rename_netdev()
739 sprintf(buf, "netdev:%s", sdata->name); in ieee80211_debugfs_rename_netdev()
741 sdata_err(sdata, in ieee80211_debugfs_rename_netdev()