Lines Matching refs:sdata
26 struct ieee80211_sub_if_data *sdata, in ieee80211_if_read() argument
35 ret = (*format)(sdata, buf, sizeof(buf)); in ieee80211_if_read()
45 struct ieee80211_sub_if_data *sdata, in ieee80211_if_write() argument
61 ret = (*write)(sdata, buf, count); in ieee80211_if_write()
69 const struct ieee80211_sub_if_data *sdata, char *buf, \
72 return scnprintf(buf, buflen, format_string, sdata->field); \
83 const struct ieee80211_sub_if_data *sdata, \
88 for (i = 0; i < sizeof(sdata->field); i++) { \
90 sdata->field[i]); \
98 const struct ieee80211_sub_if_data *sdata, \
101 return scnprintf(buf, buflen, "%d\n", atomic_read(&sdata->field));\
106 const struct ieee80211_sub_if_data *sdata, char *buf, \
109 return scnprintf(buf, buflen, "%pM\n", sdata->field); \
114 const struct ieee80211_sub_if_data *sdata, \
118 jiffies_to_msecs(sdata->field)); \
177 const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_2ghz() argument
181 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_2GHZ]; in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_2ghz()
193 const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_5ghz() argument
197 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_5GHZ]; in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_5ghz()
215 ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_hw_queues() argument
221 sdata->vif.hw_queue[IEEE80211_AC_VO], in ieee80211_if_fmt_hw_queues()
222 sdata->vif.hw_queue[IEEE80211_AC_VI], in ieee80211_if_fmt_hw_queues()
223 sdata->vif.hw_queue[IEEE80211_AC_BE], in ieee80211_if_fmt_hw_queues()
224 sdata->vif.hw_queue[IEEE80211_AC_BK]); in ieee80211_if_fmt_hw_queues()
226 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_if_fmt_hw_queues()
228 sdata->vif.cab_queue); in ieee80211_if_fmt_hw_queues()
239 static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata, in ieee80211_set_smps() argument
242 struct ieee80211_local *local = sdata->local; in ieee80211_set_smps()
255 if (sdata->vif.type != NL80211_IFTYPE_STATION) in ieee80211_set_smps()
258 sdata_lock(sdata); in ieee80211_set_smps()
259 err = __ieee80211_request_smps_mgd(sdata, &sdata->deflink, smps_mode); in ieee80211_set_smps()
260 sdata_unlock(sdata); in ieee80211_set_smps()
272 static ssize_t ieee80211_if_fmt_smps(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_smps() argument
275 if (sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_if_fmt_smps()
277 smps_modes[sdata->deflink.u.mgd.req_smps], in ieee80211_if_fmt_smps()
278 smps_modes[sdata->deflink.smps_mode]); in ieee80211_if_fmt_smps()
282 static ssize_t ieee80211_if_parse_smps(struct ieee80211_sub_if_data *sdata, in ieee80211_if_parse_smps() argument
289 int err = ieee80211_set_smps(sdata, mode); in ieee80211_if_parse_smps()
301 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tkip_mic_test() argument
303 struct ieee80211_local *local = sdata->local; in ieee80211_if_parse_tkip_mic_test()
312 if (!ieee80211_sdata_running(sdata)) in ieee80211_if_parse_tkip_mic_test()
323 switch (sdata->vif.type) { in ieee80211_if_parse_tkip_mic_test()
328 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
329 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
334 sdata_lock(sdata); in ieee80211_if_parse_tkip_mic_test()
335 if (!sdata->u.mgd.associated) { in ieee80211_if_parse_tkip_mic_test()
336 sdata_unlock(sdata); in ieee80211_if_parse_tkip_mic_test()
340 memcpy(hdr->addr1, sdata->deflink.u.mgd.bssid, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
341 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
343 sdata_unlock(sdata); in ieee80211_if_parse_tkip_mic_test()
360 ieee80211_tx_skb(sdata, skb); in ieee80211_if_parse_tkip_mic_test()
367 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_beacon_loss() argument
369 if (!ieee80211_sdata_running(sdata) || !sdata->vif.cfg.assoc) in ieee80211_if_parse_beacon_loss()
372 ieee80211_beacon_loss(&sdata->vif); in ieee80211_if_parse_beacon_loss()
379 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_uapsd_queues() argument
381 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_uapsd_queues()
387 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_uapsd_queues() argument
389 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_uapsd_queues()
407 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_uapsd_max_sp_len() argument
409 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_uapsd_max_sp_len()
415 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_uapsd_max_sp_len() argument
417 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_uapsd_max_sp_len()
435 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_tdls_wider_bw() argument
437 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_tdls_wider_bw()
440 tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) && in ieee80211_if_fmt_tdls_wider_bw()
447 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tdls_wider_bw() argument
449 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_tdls_wider_bw()
469 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_num_buffered_multicast() argument
472 skb_queue_len(&sdata->u.ap.ps.bc_buf)); in ieee80211_if_fmt_num_buffered_multicast()
477 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_aqm() argument
479 struct ieee80211_local *local = sdata->local; in ieee80211_if_fmt_aqm()
483 if (!sdata->vif.txq) in ieee80211_if_fmt_aqm()
486 txqi = to_txq_info(sdata->vif.txq); in ieee80211_if_fmt_aqm()
517 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_tsf() argument
519 struct ieee80211_local *local = sdata->local; in ieee80211_if_fmt_tsf()
522 tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata); in ieee80211_if_fmt_tsf()
528 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tsf() argument
530 struct ieee80211_local *local = sdata->local; in ieee80211_if_parse_tsf()
537 drv_reset_tsf(local, sdata); in ieee80211_if_parse_tsf()
554 drv_offset_tsf(local, sdata, tsf_is_delta * tsf); in ieee80211_if_parse_tsf()
560 tsf = drv_get_tsf(local, sdata) + in ieee80211_if_parse_tsf()
562 drv_set_tsf(local, sdata, tsf); in ieee80211_if_parse_tsf()
568 ieee80211_recalc_dtim(local, sdata); in ieee80211_if_parse_tsf()
573 static ssize_t ieee80211_if_fmt_valid_links(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_valid_links() argument
576 return snprintf(buf, buflen, "0x%x\n", sdata->vif.valid_links); in ieee80211_if_fmt_valid_links()
580 static ssize_t ieee80211_if_fmt_active_links(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_active_links() argument
583 return snprintf(buf, buflen, "0x%x\n", sdata->vif.active_links); in ieee80211_if_fmt_active_links()
586 static ssize_t ieee80211_if_parse_active_links(struct ieee80211_sub_if_data *sdata, in ieee80211_if_parse_active_links() argument
594 return ieee80211_set_active_links(&sdata->vif, active_links) ?: buflen; in ieee80211_if_parse_active_links()
665 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \
666 sdata, &name##_ops)
670 static void add_common_files(struct ieee80211_sub_if_data *sdata) in add_common_files() argument
680 if (sdata->local->ops->wake_tx_queue && in add_common_files()
681 sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE && in add_common_files()
682 sdata->vif.type != NL80211_IFTYPE_NAN) in add_common_files()
686 static void add_sta_files(struct ieee80211_sub_if_data *sdata) in add_sta_files() argument
701 static void add_ap_files(struct ieee80211_sub_if_data *sdata) in add_ap_files() argument
712 static void add_vlan_files(struct ieee80211_sub_if_data *sdata) in add_vlan_files() argument
715 debugfs_create_file("num_mcast_sta", 0400, sdata->vif.debugfs_dir, in add_vlan_files()
716 sdata, &num_mcast_sta_vlan_ops); in add_vlan_files()
719 static void add_ibss_files(struct ieee80211_sub_if_data *sdata) in add_ibss_files() argument
726 static void add_mesh_files(struct ieee80211_sub_if_data *sdata) in add_mesh_files() argument
732 static void add_mesh_stats(struct ieee80211_sub_if_data *sdata) in add_mesh_stats() argument
735 sdata->vif.debugfs_dir); in add_mesh_stats()
737 debugfs_create_file(#name, 0400, dir, sdata, &name##_ops) in add_mesh_stats()
748 static void add_mesh_config(struct ieee80211_sub_if_data *sdata) in add_mesh_config() argument
751 sdata->vif.debugfs_dir); in add_mesh_config()
754 debugfs_create_file(#name, 0600, dir, sdata, &name##_ops) in add_mesh_config()
789 static void add_files(struct ieee80211_sub_if_data *sdata) in add_files() argument
791 if (!sdata->vif.debugfs_dir) in add_files()
800 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) in add_files()
801 add_common_files(sdata); in add_files()
803 switch (sdata->vif.type) { in add_files()
806 add_mesh_files(sdata); in add_files()
807 add_mesh_stats(sdata); in add_files()
808 add_mesh_config(sdata); in add_files()
812 add_sta_files(sdata); in add_files()
815 add_ibss_files(sdata); in add_files()
818 add_ap_files(sdata); in add_files()
821 add_vlan_files(sdata); in add_files()
828 void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_add_netdev() argument
832 sprintf(buf, "netdev:%s", sdata->name); in ieee80211_debugfs_add_netdev()
833 sdata->vif.debugfs_dir = debugfs_create_dir(buf, in ieee80211_debugfs_add_netdev()
834 sdata->local->hw.wiphy->debugfsdir); in ieee80211_debugfs_add_netdev()
835 sdata->debugfs.subdir_stations = debugfs_create_dir("stations", in ieee80211_debugfs_add_netdev()
836 sdata->vif.debugfs_dir); in ieee80211_debugfs_add_netdev()
837 add_files(sdata); in ieee80211_debugfs_add_netdev()
840 void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_remove_netdev() argument
842 if (!sdata->vif.debugfs_dir) in ieee80211_debugfs_remove_netdev()
845 debugfs_remove_recursive(sdata->vif.debugfs_dir); in ieee80211_debugfs_remove_netdev()
846 sdata->vif.debugfs_dir = NULL; in ieee80211_debugfs_remove_netdev()
847 sdata->debugfs.subdir_stations = NULL; in ieee80211_debugfs_remove_netdev()
850 void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_rename_netdev() argument
855 dir = sdata->vif.debugfs_dir; in ieee80211_debugfs_rename_netdev()
860 sprintf(buf, "netdev:%s", sdata->name); in ieee80211_debugfs_rename_netdev()