Lines Matching defs:sdata
26 struct ieee80211_sub_if_data *sdata,
35 ret = (*format)(sdata, buf, sizeof(buf));
45 struct ieee80211_sub_if_data *sdata,
62 ret = (*write)(sdata, buf, count);
70 const struct ieee80211_sub_if_data *sdata, char *buf, \
73 return scnprintf(buf, buflen, format_string, sdata->field); \
86 const struct ieee80211_sub_if_data *sdata, \
91 for (i = 0; i < sizeof(sdata->field); i++) { \
93 sdata->field[i]); \
101 const struct ieee80211_sub_if_data *sdata, \
104 return scnprintf(buf, buflen, "%d\n", atomic_read(&sdata->field));\
109 const struct ieee80211_sub_if_data *sdata, char *buf, \
112 return scnprintf(buf, buflen, "%pM\n", sdata->field); \
117 const struct ieee80211_sub_if_data *sdata, \
121 jiffies_to_msecs(sdata->field)); \
180 const struct ieee80211_sub_if_data *sdata,
184 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_2GHZ];
196 const struct ieee80211_sub_if_data *sdata,
200 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_5GHZ];
218 ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata,
224 sdata->vif.hw_queue[IEEE80211_AC_VO],
225 sdata->vif.hw_queue[IEEE80211_AC_VI],
226 sdata->vif.hw_queue[IEEE80211_AC_BE],
227 sdata->vif.hw_queue[IEEE80211_AC_BK]);
229 if (sdata->vif.type == NL80211_IFTYPE_AP)
231 sdata->vif.cab_queue);
242 static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata,
245 struct ieee80211_local *local = sdata->local;
258 if (sdata->vif.type != NL80211_IFTYPE_STATION)
261 sdata_lock(sdata);
262 err = __ieee80211_request_smps_mgd(sdata, smps_mode);
263 sdata_unlock(sdata);
275 static ssize_t ieee80211_if_fmt_smps(const struct ieee80211_sub_if_data *sdata,
278 if (sdata->vif.type == NL80211_IFTYPE_STATION)
280 smps_modes[sdata->u.mgd.req_smps],
281 smps_modes[sdata->smps_mode]);
285 static ssize_t ieee80211_if_parse_smps(struct ieee80211_sub_if_data *sdata,
292 int err = ieee80211_set_smps(sdata, mode);
304 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
306 struct ieee80211_local *local = sdata->local;
315 if (!ieee80211_sdata_running(sdata))
326 switch (sdata->vif.type) {
331 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
332 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN);
337 sdata_lock(sdata);
338 if (!sdata->u.mgd.associated) {
339 sdata_unlock(sdata);
343 memcpy(hdr->addr1, sdata->u.mgd.associated->bssid, ETH_ALEN);
344 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
346 sdata_unlock(sdata);
363 ieee80211_tx_skb(sdata, skb);
370 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
372 if (!ieee80211_sdata_running(sdata) || !sdata->vif.bss_conf.assoc)
375 ieee80211_beacon_loss(&sdata->vif);
382 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
384 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
390 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
392 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
410 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
412 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
418 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
420 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
438 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
440 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
443 tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) &&
450 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
452 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
472 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
475 skb_queue_len(&sdata->u.ap.ps.bc_buf));
480 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
482 struct ieee80211_local *local = sdata->local;
486 if (!sdata->vif.txq)
489 txqi = to_txq_info(sdata->vif.txq);
520 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
522 struct ieee80211_local *local = sdata->local;
525 tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata);
531 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
533 struct ieee80211_local *local = sdata->local;
540 drv_reset_tsf(local, sdata);
557 drv_offset_tsf(local, sdata, tsf_is_delta * tsf);
563 tsf = drv_get_tsf(local, sdata) +
565 drv_set_tsf(local, sdata, tsf);
571 ieee80211_recalc_dtim(local, sdata);
647 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \
648 sdata, &name##_ops);
652 static void add_common_files(struct ieee80211_sub_if_data *sdata)
662 if (sdata->local->ops->wake_tx_queue &&
663 sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE &&
664 sdata->vif.type != NL80211_IFTYPE_NAN)
668 static void add_sta_files(struct ieee80211_sub_if_data *sdata)
681 static void add_ap_files(struct ieee80211_sub_if_data *sdata)
692 static void add_vlan_files(struct ieee80211_sub_if_data *sdata)
695 debugfs_create_file("num_mcast_sta", 0400, sdata->vif.debugfs_dir,
696 sdata, &num_mcast_sta_vlan_ops);
699 static void add_ibss_files(struct ieee80211_sub_if_data *sdata)
704 static void add_wds_files(struct ieee80211_sub_if_data *sdata)
711 static void add_mesh_files(struct ieee80211_sub_if_data *sdata)
717 static void add_mesh_stats(struct ieee80211_sub_if_data *sdata)
720 sdata->vif.debugfs_dir);
722 debugfs_create_file(#name, 0400, dir, sdata, &name##_ops);
733 static void add_mesh_config(struct ieee80211_sub_if_data *sdata)
736 sdata->vif.debugfs_dir);
739 debugfs_create_file(#name, 0600, dir, sdata, &name##_ops);
774 static void add_files(struct ieee80211_sub_if_data *sdata)
776 if (!sdata->vif.debugfs_dir)
785 if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
786 add_common_files(sdata);
788 switch (sdata->vif.type) {
791 add_mesh_files(sdata);
792 add_mesh_stats(sdata);
793 add_mesh_config(sdata);
797 add_sta_files(sdata);
800 add_ibss_files(sdata);
803 add_ap_files(sdata);
806 add_vlan_files(sdata);
809 add_wds_files(sdata);
816 void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata)
820 sprintf(buf, "netdev:%s", sdata->name);
821 sdata->vif.debugfs_dir = debugfs_create_dir(buf,
822 sdata->local->hw.wiphy->debugfsdir);
823 sdata->debugfs.subdir_stations = debugfs_create_dir("stations",
824 sdata->vif.debugfs_dir);
825 add_files(sdata);
828 void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata)
830 if (!sdata->vif.debugfs_dir)
833 debugfs_remove_recursive(sdata->vif.debugfs_dir);
834 sdata->vif.debugfs_dir = NULL;
835 sdata->debugfs.subdir_stations = NULL;
838 void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata)
843 dir = sdata->vif.debugfs_dir;
848 sprintf(buf, "netdev:%s", sdata->name);