static void add_vlan_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(channel_use, vlan); DEBUGFS_ADD(drop_unencrypted, vlan); DEBUGFS_ADD(eapol, vlan); DEBUGFS_ADD(ieee8021_x, vlan); DEBUGFS_ADD(vlan_id, vlan); }
static void add_wds_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted); DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); DEBUGFS_ADD(peer); }
static void add_wds_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(channel_use, wds); DEBUGFS_ADD(drop_unencrypted, wds); DEBUGFS_ADD(eapol, wds); DEBUGFS_ADD(ieee8021_x, wds); DEBUGFS_ADD(peer, wds); }
static void add_wds_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted, wds); DEBUGFS_ADD(force_unicast_rateidx, wds); DEBUGFS_ADD(max_ratectrl_rateidx, wds); DEBUGFS_ADD(peer, wds); }
static void add_common_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); DEBUGFS_ADD(rc_rateidx_mcs_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mcs_mask_5ghz); DEBUGFS_ADD(hw_queues); }
static void add_ap_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(num_mcast_sta); DEBUGFS_ADD(num_sta_ps); DEBUGFS_ADD(dtim_count); DEBUGFS_ADD(num_buffered_multicast); DEBUGFS_ADD_MODE(tkip_mic_test, 0200); }
static void add_sta_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted); DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); DEBUGFS_ADD(bssid); DEBUGFS_ADD(aid); DEBUGFS_ADD_MODE(smps, 0600); }
void cfg80211_debugfs_rdev_add(struct cfg80211_registered_device *rdev) { struct dentry *phyd = rdev->wiphy.debugfsdir; DEBUGFS_ADD(rts_threshold); DEBUGFS_ADD(fragmentation_threshold); DEBUGFS_ADD(short_retry_limit); DEBUGFS_ADD(long_retry_limit); DEBUGFS_ADD(ht40allow_map); }
static void add_sta_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(bssid); DEBUGFS_ADD(aid); DEBUGFS_ADD(last_beacon); DEBUGFS_ADD(ave_beacon); DEBUGFS_ADD_MODE(smps, 0600); DEBUGFS_ADD_MODE(tkip_mic_test, 0200); DEBUGFS_ADD_MODE(uapsd_queues, 0600); DEBUGFS_ADD_MODE(uapsd_max_sp_len, 0600); }
static void add_sta_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(bssid); DEBUGFS_ADD(aid); DEBUGFS_ADD(beacon_timeout); DEBUGFS_ADD_MODE(smps, 0600); DEBUGFS_ADD_MODE(tkip_mic_test, 0200); DEBUGFS_ADD_MODE(beacon_loss, 0200); DEBUGFS_ADD_MODE(uapsd_queues, 0600); DEBUGFS_ADD_MODE(uapsd_max_sp_len, 0600); DEBUGFS_ADD_MODE(tdls_wider_bw, 0600); }
void ieee80211_sta_debugfs_add(struct sta_info *sta) { char buf[3*6]; struct dentry *stations_dir = sta->local->debugfs.stations; if (!stations_dir) return; sprintf(buf, MAC_FMT, MAC_ARG(sta->addr)); sta->debugfs.dir = debugfs_create_dir(buf, stations_dir); if (!sta->debugfs.dir) return; DEBUGFS_ADD(flags); DEBUGFS_ADD(num_ps_buf_frames); DEBUGFS_ADD(last_ack_rssi); DEBUGFS_ADD(last_ack_ms); DEBUGFS_ADD(inactive_ms); DEBUGFS_ADD(last_seq_ctrl); #ifdef CONFIG_MAC80211_DEBUG_COUNTERS DEBUGFS_ADD(wme_rx_queue); DEBUGFS_ADD(wme_tx_queue); #endif }
static void add_sta_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted); DEBUGFS_ADD(flags); DEBUGFS_ADD(state); DEBUGFS_ADD(channel_type); DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); DEBUGFS_ADD(bssid); DEBUGFS_ADD(aid); DEBUGFS_ADD(last_beacon); DEBUGFS_ADD(ave_beacon); DEBUGFS_ADD_MODE(smps, 0600); DEBUGFS_ADD_MODE(tkip_mic_test, 0200); }
static void add_ap_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted); DEBUGFS_ADD(flags); DEBUGFS_ADD(state); DEBUGFS_ADD(channel_type); DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); DEBUGFS_ADD(num_sta_ps); DEBUGFS_ADD(dtim_count); DEBUGFS_ADD(num_buffered_multicast); DEBUGFS_ADD_MODE(tkip_mic_test, 0200); }
void ieee80211_sta_debugfs_add(struct sta_info *sta) { struct dentry *stations_dir = sta->local->debugfs.stations; DECLARE_MAC_BUF(mbuf); u8 *mac; if (!stations_dir) return; mac = print_mac(mbuf, sta->addr); sta->debugfs.dir = debugfs_create_dir(mac, stations_dir); if (!sta->debugfs.dir) return; DEBUGFS_ADD(flags); DEBUGFS_ADD(num_ps_buf_frames); DEBUGFS_ADD(inactive_ms); DEBUGFS_ADD(last_seq_ctrl); #ifdef CONFIG_MAC80211_DEBUG_COUNTERS DEBUGFS_ADD(wme_rx_queue); DEBUGFS_ADD(wme_tx_queue); #endif DEBUGFS_ADD(agg_status); }
static void add_ap_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(channel_use, ap); DEBUGFS_ADD(drop_unencrypted, ap); DEBUGFS_ADD(num_sta_ps, ap); DEBUGFS_ADD(dtim_count, ap); DEBUGFS_ADD(num_beacons, ap); DEBUGFS_ADD(force_unicast_rateidx, ap); DEBUGFS_ADD(max_ratectrl_rateidx, ap); DEBUGFS_ADD(num_buffered_multicast, ap); }
static void add_files(struct ieee80211_sub_if_data *sdata) { if (!sdata->vif.debugfs_dir) return; DEBUGFS_ADD(flags); DEBUGFS_ADD(state); DEBUGFS_ADD(txpower); DEBUGFS_ADD(user_power_level); DEBUGFS_ADD(ap_power_level); if (sdata->vif.type != NL80211_IFTYPE_MONITOR) add_common_files(sdata); switch (sdata->vif.type) { case NL80211_IFTYPE_MESH_POINT: #ifdef CONFIG_MAC80211_MESH add_mesh_files(sdata); add_mesh_stats(sdata); add_mesh_config(sdata); #endif break; case NL80211_IFTYPE_STATION: add_sta_files(sdata); break; case NL80211_IFTYPE_ADHOC: add_ibss_files(sdata); break; case NL80211_IFTYPE_AP: add_ap_files(sdata); break; case NL80211_IFTYPE_WDS: add_wds_files(sdata); break; default: break; } }
void debugfs_hw_add(struct ieee80211_local *local) { struct dentry *phyd = local->hw.wiphy->debugfsdir; struct dentry *statsd; if (!phyd) return; local->debugfs.keys = debugfs_create_dir("keys", phyd); DEBUGFS_ADD(total_ps_buffered); DEBUGFS_ADD(wep_iv); DEBUGFS_ADD(queues); #ifdef CONFIG_PM DEBUGFS_ADD_MODE(reset, 0200); #endif DEBUGFS_ADD(hwflags); DEBUGFS_ADD(user_power); DEBUGFS_ADD(power); statsd = debugfs_create_dir("statistics", phyd); /* if the dir failed, don't put all the other things into the root! */ if (!statsd) return; #ifdef CONFIG_MAC80211_DEBUG_COUNTERS DEBUGFS_STATS_ADD(dot11TransmittedFragmentCount); DEBUGFS_STATS_ADD(dot11MulticastTransmittedFrameCount); DEBUGFS_STATS_ADD(dot11FailedCount); DEBUGFS_STATS_ADD(dot11RetryCount); DEBUGFS_STATS_ADD(dot11MultipleRetryCount); DEBUGFS_STATS_ADD(dot11FrameDuplicateCount); DEBUGFS_STATS_ADD(dot11ReceivedFragmentCount); DEBUGFS_STATS_ADD(dot11MulticastReceivedFrameCount); DEBUGFS_STATS_ADD(dot11TransmittedFrameCount); DEBUGFS_STATS_ADD(tx_handlers_drop); DEBUGFS_STATS_ADD(tx_handlers_queued); DEBUGFS_STATS_ADD(tx_handlers_drop_wep); DEBUGFS_STATS_ADD(tx_handlers_drop_not_assoc); DEBUGFS_STATS_ADD(tx_handlers_drop_unauth_port); DEBUGFS_STATS_ADD(rx_handlers_drop); DEBUGFS_STATS_ADD(rx_handlers_queued); DEBUGFS_STATS_ADD(rx_handlers_drop_nullfunc); DEBUGFS_STATS_ADD(rx_handlers_drop_defrag); DEBUGFS_STATS_ADD(rx_handlers_drop_short); DEBUGFS_STATS_ADD(tx_expand_skb_head); DEBUGFS_STATS_ADD(tx_expand_skb_head_cloned); DEBUGFS_STATS_ADD(rx_expand_skb_head_defrag); DEBUGFS_STATS_ADD(rx_handlers_fragments); DEBUGFS_STATS_ADD(tx_status_drop); #endif DEBUGFS_DEVSTATS_ADD(dot11ACKFailureCount); DEBUGFS_DEVSTATS_ADD(dot11RTSFailureCount); DEBUGFS_DEVSTATS_ADD(dot11FCSErrorCount); DEBUGFS_DEVSTATS_ADD(dot11RTSSuccessCount); }
static void add_vlan_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted); DEBUGFS_ADD(flags); DEBUGFS_ADD(state); DEBUGFS_ADD(channel_type); DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); }
static void add_sta_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted, sta); DEBUGFS_ADD(force_unicast_rateidx, sta); DEBUGFS_ADD(max_ratectrl_rateidx, sta); DEBUGFS_ADD(bssid, sta); DEBUGFS_ADD(aid, sta); DEBUGFS_ADD(capab, sta); }
static void add_ap_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted); DEBUGFS_ADD(rc_rateidx_mask_2ghz); DEBUGFS_ADD(rc_rateidx_mask_5ghz); DEBUGFS_ADD(num_sta_ps); DEBUGFS_ADD(dtim_count); DEBUGFS_ADD(num_buffered_multicast); }
static int wl1271_debugfs_add_files(struct wl1271 *wl, struct dentry *rootdir) { int ret = 0; struct dentry *entry, *stats; stats = debugfs_create_dir("fw-statistics", rootdir); if (!stats || IS_ERR(stats)) { entry = stats; goto err; } DEBUGFS_FWSTATS_ADD(tx, internal_desc_overflow); DEBUGFS_FWSTATS_ADD(rx, out_of_mem); DEBUGFS_FWSTATS_ADD(rx, hdr_overflow); DEBUGFS_FWSTATS_ADD(rx, hw_stuck); DEBUGFS_FWSTATS_ADD(rx, dropped); DEBUGFS_FWSTATS_ADD(rx, fcs_err); DEBUGFS_FWSTATS_ADD(rx, xfr_hint_trig); DEBUGFS_FWSTATS_ADD(rx, path_reset); DEBUGFS_FWSTATS_ADD(rx, reset_counter); DEBUGFS_FWSTATS_ADD(dma, rx_requested); DEBUGFS_FWSTATS_ADD(dma, rx_errors); DEBUGFS_FWSTATS_ADD(dma, tx_requested); DEBUGFS_FWSTATS_ADD(dma, tx_errors); DEBUGFS_FWSTATS_ADD(isr, cmd_cmplt); DEBUGFS_FWSTATS_ADD(isr, fiqs); DEBUGFS_FWSTATS_ADD(isr, rx_headers); DEBUGFS_FWSTATS_ADD(isr, rx_mem_overflow); DEBUGFS_FWSTATS_ADD(isr, rx_rdys); DEBUGFS_FWSTATS_ADD(isr, irqs); DEBUGFS_FWSTATS_ADD(isr, tx_procs); DEBUGFS_FWSTATS_ADD(isr, decrypt_done); DEBUGFS_FWSTATS_ADD(isr, dma0_done); DEBUGFS_FWSTATS_ADD(isr, dma1_done); DEBUGFS_FWSTATS_ADD(isr, tx_exch_complete); DEBUGFS_FWSTATS_ADD(isr, commands); DEBUGFS_FWSTATS_ADD(isr, rx_procs); DEBUGFS_FWSTATS_ADD(isr, hw_pm_mode_changes); DEBUGFS_FWSTATS_ADD(isr, host_acknowledges); DEBUGFS_FWSTATS_ADD(isr, pci_pm); DEBUGFS_FWSTATS_ADD(isr, wakeups); DEBUGFS_FWSTATS_ADD(isr, low_rssi); DEBUGFS_FWSTATS_ADD(wep, addr_key_count); DEBUGFS_FWSTATS_ADD(wep, default_key_count); /* skipping wep.reserved */ DEBUGFS_FWSTATS_ADD(wep, key_not_found); DEBUGFS_FWSTATS_ADD(wep, decrypt_fail); DEBUGFS_FWSTATS_ADD(wep, packets); DEBUGFS_FWSTATS_ADD(wep, interrupt); DEBUGFS_FWSTATS_ADD(pwr, ps_enter); DEBUGFS_FWSTATS_ADD(pwr, elp_enter); DEBUGFS_FWSTATS_ADD(pwr, missing_bcns); DEBUGFS_FWSTATS_ADD(pwr, wake_on_host); DEBUGFS_FWSTATS_ADD(pwr, wake_on_timer_exp); DEBUGFS_FWSTATS_ADD(pwr, tx_with_ps); DEBUGFS_FWSTATS_ADD(pwr, tx_without_ps); DEBUGFS_FWSTATS_ADD(pwr, rcvd_beacons); DEBUGFS_FWSTATS_ADD(pwr, power_save_off); DEBUGFS_FWSTATS_ADD(pwr, enable_ps); DEBUGFS_FWSTATS_ADD(pwr, disable_ps); DEBUGFS_FWSTATS_ADD(pwr, fix_tsf_ps); /* skipping cont_miss_bcns_spread for now */ DEBUGFS_FWSTATS_ADD(pwr, rcvd_awake_beacons); DEBUGFS_FWSTATS_ADD(mic, rx_pkts); DEBUGFS_FWSTATS_ADD(mic, calc_failure); DEBUGFS_FWSTATS_ADD(aes, encrypt_fail); DEBUGFS_FWSTATS_ADD(aes, decrypt_fail); DEBUGFS_FWSTATS_ADD(aes, encrypt_packets); DEBUGFS_FWSTATS_ADD(aes, decrypt_packets); DEBUGFS_FWSTATS_ADD(aes, encrypt_interrupt); DEBUGFS_FWSTATS_ADD(aes, decrypt_interrupt); DEBUGFS_FWSTATS_ADD(event, heart_beat); DEBUGFS_FWSTATS_ADD(event, calibration); DEBUGFS_FWSTATS_ADD(event, rx_mismatch); DEBUGFS_FWSTATS_ADD(event, rx_mem_empty); DEBUGFS_FWSTATS_ADD(event, rx_pool); DEBUGFS_FWSTATS_ADD(event, oom_late); DEBUGFS_FWSTATS_ADD(event, phy_transmit_error); DEBUGFS_FWSTATS_ADD(event, tx_stuck); DEBUGFS_FWSTATS_ADD(ps, pspoll_timeouts); DEBUGFS_FWSTATS_ADD(ps, upsd_timeouts); DEBUGFS_FWSTATS_ADD(ps, upsd_max_sptime); DEBUGFS_FWSTATS_ADD(ps, upsd_max_apturn); DEBUGFS_FWSTATS_ADD(ps, pspoll_max_apturn); DEBUGFS_FWSTATS_ADD(ps, pspoll_utilization); DEBUGFS_FWSTATS_ADD(ps, upsd_utilization); DEBUGFS_FWSTATS_ADD(rxpipe, rx_prep_beacon_drop); DEBUGFS_FWSTATS_ADD(rxpipe, descr_host_int_trig_rx_data); DEBUGFS_FWSTATS_ADD(rxpipe, beacon_buffer_thres_host_int_trig_rx_data); DEBUGFS_FWSTATS_ADD(rxpipe, missed_beacon_host_int_trig_rx_data); DEBUGFS_FWSTATS_ADD(rxpipe, tx_xfr_host_int_trig_rx_data); DEBUGFS_ADD(tx_queue_len, rootdir); DEBUGFS_ADD(retry_count, rootdir); DEBUGFS_ADD(excessive_retries, rootdir); DEBUGFS_ADD(gpio_power, rootdir); DEBUGFS_ADD(rx_streaming_interval, rootdir); DEBUGFS_ADD(driver_state, rootdir); DEBUGFS_ADD(rx_streaming_always, rootdir); return 0; err: if (IS_ERR(entry)) ret = PTR_ERR(entry); else ret = -ENOMEM; return ret; }
void ieee80211_debugfs_key_add(struct ieee80211_key *key) { static int keycount; char buf[50]; struct sta_info *sta; if (!key->local->debugfs.keys) return; sprintf(buf, "%d", keycount); key->debugfs.cnt = keycount; keycount++; key->debugfs.dir = debugfs_create_dir(buf, key->local->debugfs.keys); if (!key->debugfs.dir) return; rcu_read_lock(); sta = rcu_dereference(key->sta); if (sta) sprintf(buf, "../../stations/%pM", sta->sta.addr); rcu_read_unlock(); if (sta) key->debugfs.stalink = debugfs_create_symlink("station", key->debugfs.dir, buf); DEBUGFS_ADD(keylen); DEBUGFS_ADD(flags); DEBUGFS_ADD(keyidx); DEBUGFS_ADD(hw_key_idx); DEBUGFS_ADD(tx_rx_count); DEBUGFS_ADD(algorithm); DEBUGFS_ADD(tx_spec); DEBUGFS_ADD(rx_spec); DEBUGFS_ADD(replays); DEBUGFS_ADD(icverrors); DEBUGFS_ADD(key); DEBUGFS_ADD(ifindex); };
static void add_monitor_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(mode, monitor); }
void ieee80211_debugfs_key_add(struct ieee80211_local *local, struct ieee80211_key *key) { static int keycount; char buf[20]; if (!local->debugfs.keys) return; sprintf(buf, "%d", keycount); keycount++; key->debugfs.dir = debugfs_create_dir(buf, local->debugfs.keys); if (!key->debugfs.dir) return; DEBUGFS_ADD(keylen); DEBUGFS_ADD(flags); DEBUGFS_ADD(keyidx); DEBUGFS_ADD(hw_key_idx); DEBUGFS_ADD(tx_rx_count); DEBUGFS_ADD(algorithm); DEBUGFS_ADD(tx_spec); DEBUGFS_ADD(rx_spec); DEBUGFS_ADD(replays); DEBUGFS_ADD(key); DEBUGFS_ADD(ifindex); };
void debugfs_hw_add(struct ieee80211_local *local) { struct dentry *phyd = local->hw.wiphy->debugfsdir; struct dentry *statsd; if (!phyd) return; local->debugfs.keys = debugfs_create_dir("keys", phyd); DEBUGFS_ADD(frequency); DEBUGFS_ADD(total_ps_buffered); DEBUGFS_ADD(wep_iv); DEBUGFS_ADD(queues); DEBUGFS_ADD_MODE(reset, 0200); DEBUGFS_ADD(channel_type); DEBUGFS_ADD(hwflags); DEBUGFS_ADD(user_power); DEBUGFS_ADD(power); statsd = debugfs_create_dir("statistics", phyd); /* */ if (!statsd) return; DEBUGFS_STATS_ADD(transmitted_fragment_count, local->dot11TransmittedFragmentCount); DEBUGFS_STATS_ADD(multicast_transmitted_frame_count, local->dot11MulticastTransmittedFrameCount); DEBUGFS_STATS_ADD(failed_count, local->dot11FailedCount); DEBUGFS_STATS_ADD(retry_count, local->dot11RetryCount); DEBUGFS_STATS_ADD(multiple_retry_count, local->dot11MultipleRetryCount); DEBUGFS_STATS_ADD(frame_duplicate_count, local->dot11FrameDuplicateCount); DEBUGFS_STATS_ADD(received_fragment_count, local->dot11ReceivedFragmentCount); DEBUGFS_STATS_ADD(multicast_received_frame_count, local->dot11MulticastReceivedFrameCount); DEBUGFS_STATS_ADD(transmitted_frame_count, local->dot11TransmittedFrameCount); #ifdef CONFIG_MAC80211_DEBUG_COUNTERS DEBUGFS_STATS_ADD(tx_handlers_drop, local->tx_handlers_drop); DEBUGFS_STATS_ADD(tx_handlers_queued, local->tx_handlers_queued); DEBUGFS_STATS_ADD(tx_handlers_drop_unencrypted, local->tx_handlers_drop_unencrypted); DEBUGFS_STATS_ADD(tx_handlers_drop_fragment, local->tx_handlers_drop_fragment); DEBUGFS_STATS_ADD(tx_handlers_drop_wep, local->tx_handlers_drop_wep); DEBUGFS_STATS_ADD(tx_handlers_drop_not_assoc, local->tx_handlers_drop_not_assoc); DEBUGFS_STATS_ADD(tx_handlers_drop_unauth_port, local->tx_handlers_drop_unauth_port); DEBUGFS_STATS_ADD(rx_handlers_drop, local->rx_handlers_drop); DEBUGFS_STATS_ADD(rx_handlers_queued, local->rx_handlers_queued); DEBUGFS_STATS_ADD(rx_handlers_drop_nullfunc, local->rx_handlers_drop_nullfunc); DEBUGFS_STATS_ADD(rx_handlers_drop_defrag, local->rx_handlers_drop_defrag); DEBUGFS_STATS_ADD(rx_handlers_drop_short, local->rx_handlers_drop_short); DEBUGFS_STATS_ADD(rx_handlers_drop_passive_scan, local->rx_handlers_drop_passive_scan); DEBUGFS_STATS_ADD(tx_expand_skb_head, local->tx_expand_skb_head); DEBUGFS_STATS_ADD(tx_expand_skb_head_cloned, local->tx_expand_skb_head_cloned); DEBUGFS_STATS_ADD(rx_expand_skb_head, local->rx_expand_skb_head); DEBUGFS_STATS_ADD(rx_expand_skb_head2, local->rx_expand_skb_head2); DEBUGFS_STATS_ADD(rx_handlers_fragments, local->rx_handlers_fragments); DEBUGFS_STATS_ADD(tx_status_drop, local->tx_status_drop); #endif DEBUGFS_DEVSTATS_ADD(dot11ACKFailureCount); DEBUGFS_DEVSTATS_ADD(dot11RTSFailureCount); DEBUGFS_DEVSTATS_ADD(dot11FCSErrorCount); DEBUGFS_DEVSTATS_ADD(dot11RTSSuccessCount); }
int wl18xx_debugfs_add_files(struct wl1271 *wl, struct dentry *rootdir) { int ret = 0; struct dentry *entry, *stats, *moddir; moddir = debugfs_create_dir(KBUILD_MODNAME, rootdir); if (!moddir || IS_ERR(moddir)) { entry = moddir; goto err; } stats = debugfs_create_dir("fw_stats", moddir); if (!stats || IS_ERR(stats)) { entry = stats; goto err; } DEBUGFS_ADD(clear_fw_stats, stats); DEBUGFS_FWSTATS_ADD(debug, debug1); DEBUGFS_FWSTATS_ADD(debug, debug2); DEBUGFS_FWSTATS_ADD(debug, debug3); DEBUGFS_FWSTATS_ADD(debug, debug4); DEBUGFS_FWSTATS_ADD(debug, debug5); DEBUGFS_FWSTATS_ADD(debug, debug6); DEBUGFS_FWSTATS_ADD(error, error_frame_non_ctrl); DEBUGFS_FWSTATS_ADD(error, error_frame_ctrl); DEBUGFS_FWSTATS_ADD(error, error_frame_during_protection); DEBUGFS_FWSTATS_ADD(error, null_frame_tx_start); DEBUGFS_FWSTATS_ADD(error, null_frame_cts_start); DEBUGFS_FWSTATS_ADD(error, bar_retry); DEBUGFS_FWSTATS_ADD(error, num_frame_cts_nul_flid); DEBUGFS_FWSTATS_ADD(error, tx_abort_failure); DEBUGFS_FWSTATS_ADD(error, tx_resume_failure); DEBUGFS_FWSTATS_ADD(error, rx_cmplt_db_overflow_cnt); DEBUGFS_FWSTATS_ADD(error, elp_while_rx_exch); DEBUGFS_FWSTATS_ADD(error, elp_while_tx_exch); DEBUGFS_FWSTATS_ADD(error, elp_while_tx); DEBUGFS_FWSTATS_ADD(error, elp_while_nvic_pending); DEBUGFS_FWSTATS_ADD(error, rx_excessive_frame_len); DEBUGFS_FWSTATS_ADD(error, burst_mismatch); DEBUGFS_FWSTATS_ADD(error, tbc_exch_mismatch); DEBUGFS_FWSTATS_ADD(tx, tx_prepared_descs); DEBUGFS_FWSTATS_ADD(tx, tx_cmplt); DEBUGFS_FWSTATS_ADD(tx, tx_template_prepared); DEBUGFS_FWSTATS_ADD(tx, tx_data_prepared); DEBUGFS_FWSTATS_ADD(tx, tx_template_programmed); DEBUGFS_FWSTATS_ADD(tx, tx_data_programmed); DEBUGFS_FWSTATS_ADD(tx, tx_burst_programmed); DEBUGFS_FWSTATS_ADD(tx, tx_starts); DEBUGFS_FWSTATS_ADD(tx, tx_stop); DEBUGFS_FWSTATS_ADD(tx, tx_imm_resp); DEBUGFS_FWSTATS_ADD(tx, tx_start_templates); DEBUGFS_FWSTATS_ADD(tx, tx_start_int_templates); DEBUGFS_FWSTATS_ADD(tx, tx_start_fw_gen); DEBUGFS_FWSTATS_ADD(tx, tx_start_data); DEBUGFS_FWSTATS_ADD(tx, tx_start_null_frame); DEBUGFS_FWSTATS_ADD(tx, tx_exch); DEBUGFS_FWSTATS_ADD(tx, tx_retry_template); DEBUGFS_FWSTATS_ADD(tx, tx_retry_data); DEBUGFS_FWSTATS_ADD(tx, tx_retry_per_rate); DEBUGFS_FWSTATS_ADD(tx, tx_exch_pending); DEBUGFS_FWSTATS_ADD(tx, tx_exch_expiry); DEBUGFS_FWSTATS_ADD(tx, tx_done_template); DEBUGFS_FWSTATS_ADD(tx, tx_done_data); DEBUGFS_FWSTATS_ADD(tx, tx_done_int_template); DEBUGFS_FWSTATS_ADD(tx, tx_cfe1); DEBUGFS_FWSTATS_ADD(tx, tx_cfe2); DEBUGFS_FWSTATS_ADD(tx, frag_called); DEBUGFS_FWSTATS_ADD(tx, frag_mpdu_alloc_failed); DEBUGFS_FWSTATS_ADD(tx, frag_init_called); DEBUGFS_FWSTATS_ADD(tx, frag_in_process_called); DEBUGFS_FWSTATS_ADD(tx, frag_tkip_called); DEBUGFS_FWSTATS_ADD(tx, frag_key_not_found); DEBUGFS_FWSTATS_ADD(tx, frag_need_fragmentation); DEBUGFS_FWSTATS_ADD(tx, frag_bad_mblk_num); DEBUGFS_FWSTATS_ADD(tx, frag_failed); DEBUGFS_FWSTATS_ADD(tx, frag_cache_hit); DEBUGFS_FWSTATS_ADD(tx, frag_cache_miss); DEBUGFS_FWSTATS_ADD(rx, rx_beacon_early_term); DEBUGFS_FWSTATS_ADD(rx, rx_out_of_mpdu_nodes); DEBUGFS_FWSTATS_ADD(rx, rx_hdr_overflow); DEBUGFS_FWSTATS_ADD(rx, rx_dropped_frame); DEBUGFS_FWSTATS_ADD(rx, rx_done); DEBUGFS_FWSTATS_ADD(rx, rx_defrag); DEBUGFS_FWSTATS_ADD(rx, rx_defrag_end); DEBUGFS_FWSTATS_ADD(rx, rx_cmplt); DEBUGFS_FWSTATS_ADD(rx, rx_pre_complt); DEBUGFS_FWSTATS_ADD(rx, rx_cmplt_task); DEBUGFS_FWSTATS_ADD(rx, rx_phy_hdr); DEBUGFS_FWSTATS_ADD(rx, rx_timeout); DEBUGFS_FWSTATS_ADD(rx, rx_rts_timeout); DEBUGFS_FWSTATS_ADD(rx, rx_timeout_wa); DEBUGFS_FWSTATS_ADD(rx, rx_wa_density_dropped_frame); DEBUGFS_FWSTATS_ADD(rx, rx_wa_ba_not_expected); DEBUGFS_FWSTATS_ADD(rx, defrag_called); DEBUGFS_FWSTATS_ADD(rx, defrag_init_called); DEBUGFS_FWSTATS_ADD(rx, defrag_in_process_called); DEBUGFS_FWSTATS_ADD(rx, defrag_tkip_called); DEBUGFS_FWSTATS_ADD(rx, defrag_need_defrag); DEBUGFS_FWSTATS_ADD(rx, defrag_decrypt_failed); DEBUGFS_FWSTATS_ADD(rx, decrypt_key_not_found); DEBUGFS_FWSTATS_ADD(rx, defrag_need_decrypt); DEBUGFS_FWSTATS_ADD(rx, rx_tkip_replays); DEBUGFS_FWSTATS_ADD(rx, rx_xfr); DEBUGFS_FWSTATS_ADD(isr, irqs); DEBUGFS_FWSTATS_ADD(pwr, missing_bcns_cnt); DEBUGFS_FWSTATS_ADD(pwr, rcvd_bcns_cnt); DEBUGFS_FWSTATS_ADD(pwr, connection_out_of_sync); DEBUGFS_FWSTATS_ADD(pwr, cont_miss_bcns_spread); DEBUGFS_FWSTATS_ADD(pwr, rcvd_awake_bcns_cnt); DEBUGFS_FWSTATS_ADD(ps_poll, ps_poll_timeouts); DEBUGFS_FWSTATS_ADD(ps_poll, upsd_timeouts); DEBUGFS_FWSTATS_ADD(ps_poll, upsd_max_ap_turn); DEBUGFS_FWSTATS_ADD(ps_poll, ps_poll_max_ap_turn); DEBUGFS_FWSTATS_ADD(ps_poll, ps_poll_utilization); DEBUGFS_FWSTATS_ADD(ps_poll, upsd_utilization); DEBUGFS_FWSTATS_ADD(rx_filter, beacon_filter); DEBUGFS_FWSTATS_ADD(rx_filter, arp_filter); DEBUGFS_FWSTATS_ADD(rx_filter, mc_filter); DEBUGFS_FWSTATS_ADD(rx_filter, dup_filter); DEBUGFS_FWSTATS_ADD(rx_filter, data_filter); DEBUGFS_FWSTATS_ADD(rx_filter, ibss_filter); DEBUGFS_FWSTATS_ADD(rx_filter, protection_filter); DEBUGFS_FWSTATS_ADD(rx_filter, accum_arp_pend_requests); DEBUGFS_FWSTATS_ADD(rx_filter, max_arp_queue_dep); DEBUGFS_FWSTATS_ADD(rx_rate, rx_frames_per_rates); DEBUGFS_FWSTATS_ADD(aggr_size, tx_agg_rate); DEBUGFS_FWSTATS_ADD(aggr_size, tx_agg_len); DEBUGFS_FWSTATS_ADD(aggr_size, rx_size); DEBUGFS_FWSTATS_ADD(pipeline, hs_tx_stat_fifo_int); DEBUGFS_FWSTATS_ADD(pipeline, tcp_tx_stat_fifo_int); DEBUGFS_FWSTATS_ADD(pipeline, tcp_rx_stat_fifo_int); DEBUGFS_FWSTATS_ADD(pipeline, enc_tx_stat_fifo_int); DEBUGFS_FWSTATS_ADD(pipeline, enc_rx_stat_fifo_int); DEBUGFS_FWSTATS_ADD(pipeline, rx_complete_stat_fifo_int); DEBUGFS_FWSTATS_ADD(pipeline, pre_proc_swi); DEBUGFS_FWSTATS_ADD(pipeline, post_proc_swi); DEBUGFS_FWSTATS_ADD(pipeline, sec_frag_swi); DEBUGFS_FWSTATS_ADD(pipeline, pre_to_defrag_swi); DEBUGFS_FWSTATS_ADD(pipeline, defrag_to_csum_swi); DEBUGFS_FWSTATS_ADD(pipeline, csum_to_rx_xfer_swi); DEBUGFS_FWSTATS_ADD(pipeline, dec_packet_in); DEBUGFS_FWSTATS_ADD(pipeline, dec_packet_in_fifo_full); DEBUGFS_FWSTATS_ADD(pipeline, dec_packet_out); DEBUGFS_FWSTATS_ADD(pipeline, cs_rx_packet_in); DEBUGFS_FWSTATS_ADD(pipeline, cs_rx_packet_out); DEBUGFS_FWSTATS_ADD(pipeline, pipeline_fifo_full); DEBUGFS_FWSTATS_ADD(mem, rx_free_mem_blks); DEBUGFS_FWSTATS_ADD(mem, tx_free_mem_blks); DEBUGFS_FWSTATS_ADD(mem, fwlog_free_mem_blks); DEBUGFS_FWSTATS_ADD(mem, fw_gen_free_mem_blks); DEBUGFS_FWSTATS_ADD(thermal, irq_thr_low); DEBUGFS_FWSTATS_ADD(thermal, irq_thr_high); DEBUGFS_FWSTATS_ADD(thermal, tx_stop); DEBUGFS_FWSTATS_ADD(thermal, tx_resume); DEBUGFS_FWSTATS_ADD(thermal, false_irq); DEBUGFS_FWSTATS_ADD(thermal, adc_source_unexpected); DEBUGFS_FWSTATS_ADD(calib, fail_count); DEBUGFS_FWSTATS_ADD(calib, calib_count); DEBUGFS_FWSTATS_ADD(roaming, rssi_level); DEBUGFS_ADD(conf, moddir); DEBUGFS_ADD(radar_detection, moddir); DEBUGFS_ADD(radar_debug_mode, moddir); return 0; err: if (IS_ERR(entry)) ret = PTR_ERR(entry); else ret = -ENOMEM; return ret; }
static void add_wds_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(peer); }
void debugfs_hw_add(struct ieee80211_local *local) { struct dentry *phyd = local->hw.wiphy->debugfsdir; struct dentry *statsd; if (!phyd) return; local->debugfs.stations = debugfs_create_dir("stations", phyd); local->debugfs.keys = debugfs_create_dir("keys", phyd); DEBUGFS_ADD(frequency); DEBUGFS_ADD(antenna_sel_tx); DEBUGFS_ADD(antenna_sel_rx); DEBUGFS_ADD(bridge_packets); DEBUGFS_ADD(rts_threshold); DEBUGFS_ADD(fragmentation_threshold); DEBUGFS_ADD(short_retry_limit); DEBUGFS_ADD(long_retry_limit); DEBUGFS_ADD(total_ps_buffered); DEBUGFS_ADD(wep_iv); statsd = debugfs_create_dir("statistics", phyd); local->debugfs.statistics = statsd; /* if the dir failed, don't put all the other things into the root! */ if (!statsd) return; DEBUGFS_STATS_ADD(transmitted_fragment_count); DEBUGFS_STATS_ADD(multicast_transmitted_frame_count); DEBUGFS_STATS_ADD(failed_count); DEBUGFS_STATS_ADD(retry_count); DEBUGFS_STATS_ADD(multiple_retry_count); DEBUGFS_STATS_ADD(frame_duplicate_count); DEBUGFS_STATS_ADD(received_fragment_count); DEBUGFS_STATS_ADD(multicast_received_frame_count); DEBUGFS_STATS_ADD(transmitted_frame_count); DEBUGFS_STATS_ADD(wep_undecryptable_count); #ifdef CONFIG_MAC80211_DEBUG_COUNTERS DEBUGFS_STATS_ADD(tx_handlers_drop); DEBUGFS_STATS_ADD(tx_handlers_queued); DEBUGFS_STATS_ADD(tx_handlers_drop_unencrypted); DEBUGFS_STATS_ADD(tx_handlers_drop_fragment); DEBUGFS_STATS_ADD(tx_handlers_drop_wep); DEBUGFS_STATS_ADD(tx_handlers_drop_not_assoc); DEBUGFS_STATS_ADD(tx_handlers_drop_unauth_port); DEBUGFS_STATS_ADD(rx_handlers_drop); DEBUGFS_STATS_ADD(rx_handlers_queued); DEBUGFS_STATS_ADD(rx_handlers_drop_nullfunc); DEBUGFS_STATS_ADD(rx_handlers_drop_defrag); DEBUGFS_STATS_ADD(rx_handlers_drop_short); DEBUGFS_STATS_ADD(rx_handlers_drop_passive_scan); DEBUGFS_STATS_ADD(tx_expand_skb_head); DEBUGFS_STATS_ADD(tx_expand_skb_head_cloned); DEBUGFS_STATS_ADD(rx_expand_skb_head); DEBUGFS_STATS_ADD(rx_expand_skb_head2); DEBUGFS_STATS_ADD(rx_handlers_fragments); DEBUGFS_STATS_ADD(tx_status_drop); DEBUGFS_STATS_ADD(wme_tx_queue); DEBUGFS_STATS_ADD(wme_rx_queue); #endif DEBUGFS_STATS_ADD(dot11ACKFailureCount); DEBUGFS_STATS_ADD(dot11RTSFailureCount); DEBUGFS_STATS_ADD(dot11FCSErrorCount); DEBUGFS_STATS_ADD(dot11RTSSuccessCount); }
static void add_sta_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(drop_unencrypted, sta); DEBUGFS_ADD(force_unicast_rateidx, sta); DEBUGFS_ADD(max_ratectrl_rateidx, sta); DEBUGFS_ADD(state, sta); DEBUGFS_ADD(bssid, sta); DEBUGFS_ADD(prev_bssid, sta); DEBUGFS_ADD(ssid_len, sta); DEBUGFS_ADD(aid, sta); DEBUGFS_ADD(ap_capab, sta); DEBUGFS_ADD(capab, sta); DEBUGFS_ADD(extra_ie_len, sta); DEBUGFS_ADD(auth_tries, sta); DEBUGFS_ADD(assoc_tries, sta); DEBUGFS_ADD(auth_algs, sta); DEBUGFS_ADD(auth_alg, sta); DEBUGFS_ADD(auth_transaction, sta); DEBUGFS_ADD(flags, sta); DEBUGFS_ADD(num_beacons_sta, sta); }
static void add_monitor_files(struct ieee80211_sub_if_data *sdata) { DEBUGFS_ADD(flags); DEBUGFS_ADD(state); DEBUGFS_ADD(channel_type); }