Lines Matching refs:sdata

27 	struct ieee80211_sub_if_data *sdata;  member
38 return d->format(d->sdata, buf, bufsize); in ieee80211_if_read_sdata_handler()
45 ssize_t (*format)(const struct ieee80211_sub_if_data *sdata, char *, int)) in ieee80211_if_read_sdata() argument
47 struct ieee80211_sub_if_data *sdata = file->private_data; in ieee80211_if_read_sdata() local
50 .sdata = sdata, in ieee80211_if_read_sdata()
54 return wiphy_locked_debugfs_read(sdata->local->hw.wiphy, in ieee80211_if_read_sdata()
63 struct ieee80211_sub_if_data *sdata; member
74 return d->write(d->sdata, buf, count); in ieee80211_if_write_sdata_handler()
81 ssize_t (*write)(struct ieee80211_sub_if_data *sdata, const char *, int)) in ieee80211_if_write_sdata() argument
83 struct ieee80211_sub_if_data *sdata = file->private_data; in ieee80211_if_write_sdata() local
86 .sdata = sdata, in ieee80211_if_write_sdata()
90 return wiphy_locked_debugfs_write(sdata->local->hw.wiphy, in ieee80211_if_write_sdata()
126 return wiphy_locked_debugfs_read(link->sdata->local->hw.wiphy, in ieee80211_if_read_link()
146 return d->write(d->sdata, buf, count); in ieee80211_if_write_link_handler()
162 return wiphy_locked_debugfs_write(link->sdata->local->hw.wiphy, in ieee80211_if_write_link()
317 const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_2ghz() argument
321 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_2GHZ]; in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_2ghz()
333 const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_5ghz() argument
337 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_5GHZ]; in ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_5ghz()
355 ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_hw_queues() argument
361 sdata->vif.hw_queue[IEEE80211_AC_VO], in ieee80211_if_fmt_hw_queues()
362 sdata->vif.hw_queue[IEEE80211_AC_VI], in ieee80211_if_fmt_hw_queues()
363 sdata->vif.hw_queue[IEEE80211_AC_BE], in ieee80211_if_fmt_hw_queues()
364 sdata->vif.hw_queue[IEEE80211_AC_BK]); in ieee80211_if_fmt_hw_queues()
366 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_if_fmt_hw_queues()
368 sdata->vif.cab_queue); in ieee80211_if_fmt_hw_queues()
382 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_set_smps() local
383 struct ieee80211_local *local = sdata->local; in ieee80211_set_smps()
388 if (sdata->vif.driver_flags & IEEE80211_VIF_EML_ACTIVE) in ieee80211_set_smps()
401 if (sdata->vif.type != NL80211_IFTYPE_STATION) in ieee80211_set_smps()
404 return __ieee80211_request_smps_mgd(link->sdata, link, smps_mode); in ieee80211_set_smps()
417 if (link->sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_if_fmt_smps()
443 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tkip_mic_test() argument
445 struct ieee80211_local *local = sdata->local; in ieee80211_if_parse_tkip_mic_test()
454 if (!ieee80211_sdata_running(sdata)) in ieee80211_if_parse_tkip_mic_test()
465 switch (sdata->vif.type) { in ieee80211_if_parse_tkip_mic_test()
470 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
471 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
476 if (!sdata->u.mgd.associated) { in ieee80211_if_parse_tkip_mic_test()
480 memcpy(hdr->addr1, sdata->deflink.u.mgd.bssid, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
481 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_if_parse_tkip_mic_test()
499 ieee80211_tx_skb(sdata, skb); in ieee80211_if_parse_tkip_mic_test()
506 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_beacon_loss() argument
508 if (!ieee80211_sdata_running(sdata) || !sdata->vif.cfg.assoc) in ieee80211_if_parse_beacon_loss()
511 ieee80211_beacon_loss(&sdata->vif); in ieee80211_if_parse_beacon_loss()
518 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_uapsd_queues() argument
520 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_uapsd_queues()
526 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_uapsd_queues() argument
528 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_uapsd_queues()
546 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_uapsd_max_sp_len() argument
548 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_uapsd_max_sp_len()
554 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_uapsd_max_sp_len() argument
556 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_uapsd_max_sp_len()
574 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_tdls_wider_bw() argument
576 const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_fmt_tdls_wider_bw()
579 tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) && in ieee80211_if_fmt_tdls_wider_bw()
586 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tdls_wider_bw() argument
588 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; in ieee80211_if_parse_tdls_wider_bw()
608 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_num_buffered_multicast() argument
611 skb_queue_len(&sdata->u.ap.ps.bc_buf)); in ieee80211_if_fmt_num_buffered_multicast()
616 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_aqm() argument
618 struct ieee80211_local *local = sdata->local; in ieee80211_if_fmt_aqm()
622 if (!sdata->vif.txq) in ieee80211_if_fmt_aqm()
625 txqi = to_txq_info(sdata->vif.txq); in ieee80211_if_fmt_aqm()
656 const struct ieee80211_sub_if_data *sdata, char *buf, int buflen) in ieee80211_if_fmt_tsf() argument
658 struct ieee80211_local *local = sdata->local; in ieee80211_if_fmt_tsf()
661 tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata); in ieee80211_if_fmt_tsf()
667 struct ieee80211_sub_if_data *sdata, const char *buf, int buflen) in ieee80211_if_parse_tsf() argument
669 struct ieee80211_local *local = sdata->local; in ieee80211_if_parse_tsf()
676 drv_reset_tsf(local, sdata); in ieee80211_if_parse_tsf()
693 drv_offset_tsf(local, sdata, tsf_is_delta * tsf); in ieee80211_if_parse_tsf()
699 tsf = drv_get_tsf(local, sdata) + in ieee80211_if_parse_tsf()
701 drv_set_tsf(local, sdata, tsf); in ieee80211_if_parse_tsf()
707 ieee80211_recalc_dtim(sdata, drv_get_tsf(local, sdata)); in ieee80211_if_parse_tsf()
712 static ssize_t ieee80211_if_fmt_valid_links(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_valid_links() argument
715 return snprintf(buf, buflen, "0x%x\n", sdata->vif.valid_links); in ieee80211_if_fmt_valid_links()
719 static ssize_t ieee80211_if_fmt_active_links(const struct ieee80211_sub_if_data *sdata, in ieee80211_if_fmt_active_links() argument
722 return snprintf(buf, buflen, "0x%x\n", sdata->vif.active_links); in ieee80211_if_fmt_active_links()
725 static ssize_t ieee80211_if_parse_active_links(struct ieee80211_sub_if_data *sdata, in ieee80211_if_parse_active_links() argument
733 return ieee80211_set_active_links(&sdata->vif, active_links) ?: buflen; in ieee80211_if_parse_active_links()
804 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \
805 sdata, &name##_ops)
808 debugfs_create_x##_bits(#_name, _mode, sdata->vif.debugfs_dir, \
809 &sdata->vif._name)
822 static void add_common_files(struct ieee80211_sub_if_data *sdata) in add_common_files() argument
832 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE && in add_common_files()
833 sdata->vif.type != NL80211_IFTYPE_NAN) in add_common_files()
837 static void add_sta_files(struct ieee80211_sub_if_data *sdata) in add_sta_files() argument
852 static void add_ap_files(struct ieee80211_sub_if_data *sdata) in add_ap_files() argument
862 static void add_vlan_files(struct ieee80211_sub_if_data *sdata) in add_vlan_files() argument
865 debugfs_create_file("num_mcast_sta", 0400, sdata->vif.debugfs_dir, in add_vlan_files()
866 sdata, &num_mcast_sta_vlan_ops); in add_vlan_files()
869 static void add_ibss_files(struct ieee80211_sub_if_data *sdata) in add_ibss_files() argument
876 static void add_mesh_files(struct ieee80211_sub_if_data *sdata) in add_mesh_files() argument
882 static void add_mesh_stats(struct ieee80211_sub_if_data *sdata) in add_mesh_stats() argument
885 sdata->vif.debugfs_dir); in add_mesh_stats()
887 debugfs_create_file(#name, 0400, dir, sdata, &name##_ops) in add_mesh_stats()
897 static void add_mesh_config(struct ieee80211_sub_if_data *sdata) in add_mesh_config() argument
900 sdata->vif.debugfs_dir); in add_mesh_config()
903 debugfs_create_file(#name, 0600, dir, sdata, &name##_ops) in add_mesh_config()
938 static void add_files(struct ieee80211_sub_if_data *sdata) in add_files() argument
940 if (!sdata->vif.debugfs_dir) in add_files()
946 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) in add_files()
947 add_common_files(sdata); in add_files()
949 switch (sdata->vif.type) { in add_files()
952 add_mesh_files(sdata); in add_files()
953 add_mesh_stats(sdata); in add_files()
954 add_mesh_config(sdata); in add_files()
958 add_sta_files(sdata); in add_files()
961 add_ibss_files(sdata); in add_files()
964 add_ap_files(sdata); in add_files()
967 add_vlan_files(sdata); in add_files()
990 switch (link->sdata->vif.type) { in add_link_files()
999 static void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata, in ieee80211_debugfs_add_netdev() argument
1004 sprintf(buf, "netdev:%s", sdata->name); in ieee80211_debugfs_add_netdev()
1005 sdata->vif.debugfs_dir = debugfs_create_dir(buf, in ieee80211_debugfs_add_netdev()
1006 sdata->local->hw.wiphy->debugfsdir); in ieee80211_debugfs_add_netdev()
1008 sdata->deflink.debugfs_dir = sdata->vif.debugfs_dir; in ieee80211_debugfs_add_netdev()
1009 sdata->debugfs.subdir_stations = debugfs_create_dir("stations", in ieee80211_debugfs_add_netdev()
1010 sdata->vif.debugfs_dir); in ieee80211_debugfs_add_netdev()
1011 add_files(sdata); in ieee80211_debugfs_add_netdev()
1013 add_link_files(&sdata->deflink, sdata->vif.debugfs_dir); in ieee80211_debugfs_add_netdev()
1016 void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_remove_netdev() argument
1018 if (!sdata->vif.debugfs_dir) in ieee80211_debugfs_remove_netdev()
1021 debugfs_remove_recursive(sdata->vif.debugfs_dir); in ieee80211_debugfs_remove_netdev()
1022 sdata->vif.debugfs_dir = NULL; in ieee80211_debugfs_remove_netdev()
1023 sdata->debugfs.subdir_stations = NULL; in ieee80211_debugfs_remove_netdev()
1026 void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata) in ieee80211_debugfs_rename_netdev() argument
1028 debugfs_change_name(sdata->vif.debugfs_dir, "netdev:%s", sdata->name); in ieee80211_debugfs_rename_netdev()
1031 void ieee80211_debugfs_recreate_netdev(struct ieee80211_sub_if_data *sdata, in ieee80211_debugfs_recreate_netdev() argument
1034 ieee80211_debugfs_remove_netdev(sdata); in ieee80211_debugfs_recreate_netdev()
1035 ieee80211_debugfs_add_netdev(sdata, mld_vif); in ieee80211_debugfs_recreate_netdev()
1037 if (sdata->flags & IEEE80211_SDATA_IN_DRIVER) { in ieee80211_debugfs_recreate_netdev()
1038 drv_vif_add_debugfs(sdata->local, sdata); in ieee80211_debugfs_recreate_netdev()
1040 ieee80211_link_debugfs_drv_add(&sdata->deflink); in ieee80211_debugfs_recreate_netdev()
1048 if (WARN_ON(!link->sdata->vif.debugfs_dir || link->debugfs_dir)) in ieee80211_link_debugfs_add()
1052 if (WARN_ON(!(link->sdata->local->hw.wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO))) in ieee80211_link_debugfs_add()
1060 link->sdata->vif.debugfs_dir); in ieee80211_link_debugfs_add()
1068 if (!link->sdata->vif.debugfs_dir || !link->debugfs_dir) { in ieee80211_link_debugfs_remove()
1073 if (link->debugfs_dir == link->sdata->vif.debugfs_dir) { in ieee80211_link_debugfs_remove()
1074 WARN_ON(link != &link->sdata->deflink); in ieee80211_link_debugfs_remove()
1085 if (link->sdata->vif.type == NL80211_IFTYPE_MONITOR || in ieee80211_link_debugfs_drv_add()
1089 drv_link_add_debugfs(link->sdata->local, link->sdata, in ieee80211_link_debugfs_drv_add()
1098 if (WARN_ON(link->debugfs_dir == link->sdata->vif.debugfs_dir)) in ieee80211_link_debugfs_drv_remove()