Lines Matching defs:sdata
201 const struct ieee80211_sub_if_data *sdata,
205 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_2GHZ];
217 const struct ieee80211_sub_if_data *sdata,
221 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_5GHZ];
239 ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata,
245 sdata->vif.hw_queue[IEEE80211_AC_VO],
246 sdata->vif.hw_queue[IEEE80211_AC_VI],
247 sdata->vif.hw_queue[IEEE80211_AC_BE],
248 sdata->vif.hw_queue[IEEE80211_AC_BK]);
250 if (sdata->vif.type == NL80211_IFTYPE_AP)
252 sdata->vif.cab_queue);
266 struct ieee80211_sub_if_data *sdata = link->sdata;
267 struct ieee80211_local *local = sdata->local;
270 if (sdata->vif.driver_flags & IEEE80211_VIF_DISABLE_SMPS_OVERRIDE)
283 if (sdata->vif.type != NL80211_IFTYPE_STATION)
286 sdata_lock(sdata);
287 err = __ieee80211_request_smps_mgd(link->sdata, link, smps_mode);
288 sdata_unlock(sdata);
303 if (link->sdata->vif.type == NL80211_IFTYPE_STATION)
329 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
331 struct ieee80211_local *local = sdata->local;
340 if (!ieee80211_sdata_running(sdata))
351 switch (sdata->vif.type) {
356 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
357 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN);
362 sdata_lock(sdata);
363 if (!sdata->u.mgd.associated) {
364 sdata_unlock(sdata);
368 memcpy(hdr->addr1, sdata->deflink.u.mgd.bssid, ETH_ALEN);
369 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
371 sdata_unlock(sdata);
388 ieee80211_tx_skb(sdata, skb);
395 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
397 if (!ieee80211_sdata_running(sdata) || !sdata->vif.cfg.assoc)
400 ieee80211_beacon_loss(&sdata->vif);
407 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
409 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
415 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
417 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
435 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
437 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
443 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
445 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
463 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
465 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
468 tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) &&
475 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
477 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
497 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
500 skb_queue_len(&sdata->u.ap.ps.bc_buf));
505 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
507 struct ieee80211_local *local = sdata->local;
511 if (!sdata->vif.txq)
514 txqi = to_txq_info(sdata->vif.txq);
545 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
547 struct ieee80211_local *local = sdata->local;
550 tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata);
556 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
558 struct ieee80211_local *local = sdata->local;
565 drv_reset_tsf(local, sdata);
582 drv_offset_tsf(local, sdata, tsf_is_delta * tsf);
588 tsf = drv_get_tsf(local, sdata) +
590 drv_set_tsf(local, sdata, tsf);
596 ieee80211_recalc_dtim(local, sdata);
601 static ssize_t ieee80211_if_fmt_valid_links(const struct ieee80211_sub_if_data *sdata,
604 return snprintf(buf, buflen, "0x%x\n", sdata->vif.valid_links);
608 static ssize_t ieee80211_if_fmt_active_links(const struct ieee80211_sub_if_data *sdata,
611 return snprintf(buf, buflen, "0x%x\n", sdata->vif.active_links);
614 static ssize_t ieee80211_if_parse_active_links(struct ieee80211_sub_if_data *sdata,
622 return ieee80211_set_active_links(&sdata->vif, active_links) ?: buflen;
693 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \
694 sdata, &name##_ops)
697 debugfs_create_x##_bits(#_name, _mode, sdata->vif.debugfs_dir, \
698 &sdata->vif._name)
711 static void add_common_files(struct ieee80211_sub_if_data *sdata)
721 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE &&
722 sdata->vif.type != NL80211_IFTYPE_NAN)
726 static void add_sta_files(struct ieee80211_sub_if_data *sdata)
741 static void add_ap_files(struct ieee80211_sub_if_data *sdata)
751 static void add_vlan_files(struct ieee80211_sub_if_data *sdata)
754 debugfs_create_file("num_mcast_sta", 0400, sdata->vif.debugfs_dir,
755 sdata, &num_mcast_sta_vlan_ops);
758 static void add_ibss_files(struct ieee80211_sub_if_data *sdata)
765 static void add_mesh_files(struct ieee80211_sub_if_data *sdata)
771 static void add_mesh_stats(struct ieee80211_sub_if_data *sdata)
774 sdata->vif.debugfs_dir);
776 debugfs_create_file(#name, 0400, dir, sdata, &name##_ops)
786 static void add_mesh_config(struct ieee80211_sub_if_data *sdata)
789 sdata->vif.debugfs_dir);
792 debugfs_create_file(#name, 0600, dir, sdata, &name##_ops)
827 static void add_files(struct ieee80211_sub_if_data *sdata)
829 if (!sdata->vif.debugfs_dir)
835 if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
836 add_common_files(sdata);
838 switch (sdata->vif.type) {
841 add_mesh_files(sdata);
842 add_mesh_stats(sdata);
843 add_mesh_config(sdata);
847 add_sta_files(sdata);
850 add_ibss_files(sdata);
853 add_ap_files(sdata);
856 add_vlan_files(sdata);
879 switch (link->sdata->vif.type) {
888 void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata)
892 sprintf(buf, "netdev:%s", sdata->name);
893 sdata->vif.debugfs_dir = debugfs_create_dir(buf,
894 sdata->local->hw.wiphy->debugfsdir);
895 sdata->debugfs.subdir_stations = debugfs_create_dir("stations",
896 sdata->vif.debugfs_dir);
897 add_files(sdata);
899 if (!(sdata->local->hw.wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO))
900 add_link_files(&sdata->deflink, sdata->vif.debugfs_dir);
903 void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata)
905 if (!sdata->vif.debugfs_dir)
908 debugfs_remove_recursive(sdata->vif.debugfs_dir);
909 sdata->vif.debugfs_dir = NULL;
910 sdata->debugfs.subdir_stations = NULL;
913 void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata)
918 dir = sdata->vif.debugfs_dir;
923 sprintf(buf, "netdev:%s", sdata->name);
931 if (WARN_ON(!link->sdata->vif.debugfs_dir))
935 if (WARN_ON(!(link->sdata->local->hw.wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO)))
943 link->sdata->vif.debugfs_dir);
951 if (!link->sdata->vif.debugfs_dir || !link->debugfs_dir) {
956 if (link->debugfs_dir == link->sdata->vif.debugfs_dir) {
957 WARN_ON(link != &link->sdata->deflink);
971 drv_link_add_debugfs(link->sdata->local, link->sdata,
980 if (WARN_ON(link->debugfs_dir == link->sdata->vif.debugfs_dir))