mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
iwlwifi: remove TX/RX frame statistics
Keeping statistics per frame type really isn't very useful, and needs a huge amount of code so remove it. Since that is the only thing in iwl-core.{c,h} now, those files can be killed. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
063c51667f
commit
56322f5e0d
@ -5,7 +5,7 @@ iwlwifi-objs += iwl-ucode.o iwl-agn-tx.o iwl-debug.o
|
||||
iwlwifi-objs += iwl-agn-lib.o iwl-agn-calib.o iwl-io.o
|
||||
iwlwifi-objs += iwl-agn-tt.o iwl-agn-sta.o iwl-agn-rx.o
|
||||
|
||||
iwlwifi-objs += iwl-core.o iwl-eeprom.o iwl-power.o
|
||||
iwlwifi-objs += iwl-eeprom.o iwl-power.o
|
||||
iwlwifi-objs += iwl-scan.o iwl-led.o
|
||||
iwlwifi-objs += iwl-agn-rxon.o iwl-agn-devices.o
|
||||
iwlwifi-objs += iwl-5000.o
|
||||
|
@ -64,7 +64,6 @@
|
||||
#include <net/mac80211.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-agn-calib.h"
|
||||
#include "iwl-trans.h"
|
||||
#include "iwl-agn.h"
|
||||
|
@ -63,7 +63,6 @@
|
||||
#define __iwl_calib_h__
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-commands.h"
|
||||
|
||||
void iwl_chain_noise_calibration(struct iwl_priv *priv);
|
||||
|
@ -27,7 +27,6 @@
|
||||
/*
|
||||
* DVM device-specific data & functions
|
||||
*/
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-commands.h"
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include <linux/sched.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn-hw.h"
|
||||
#include "iwl-agn.h"
|
||||
|
@ -36,7 +36,6 @@
|
||||
#include <linux/workqueue.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-op-mode.h"
|
||||
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include <asm/unaligned.h>
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn-calib.h"
|
||||
#include "iwl-agn.h"
|
||||
@ -762,8 +761,6 @@ static void iwlagn_pass_packet_to_mac80211(struct iwl_priv *priv,
|
||||
p = rxb_steal_page(rxb);
|
||||
skb_add_rx_frag(skb, 0, p, offset, len, len);
|
||||
|
||||
iwl_update_stats(priv, false, fc, len);
|
||||
|
||||
/*
|
||||
* Wake any queues that were stopped due to a passive channel tx
|
||||
* failure. This can happen because the regulatory enforcement in
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <linux/etherdevice.h>
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-agn-calib.h"
|
||||
#include "iwl-trans.h"
|
||||
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include <net/mac80211.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-trans.h"
|
||||
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-commands.h"
|
||||
#include "iwl-debug.h"
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include <linux/ieee80211.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn-hw.h"
|
||||
#include "iwl-agn.h"
|
||||
@ -399,8 +398,6 @@ int iwlagn_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
|
||||
|
||||
iwlagn_tx_cmd_build_rate(priv, tx_cmd, info, fc);
|
||||
|
||||
iwl_update_stats(priv, true, fc, len);
|
||||
|
||||
memset(&info->status, 0, sizeof(info->status));
|
||||
|
||||
info->driver_data[0] = ctx;
|
||||
|
@ -46,7 +46,6 @@
|
||||
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn-calib.h"
|
||||
#include "iwl-agn.h"
|
||||
|
@ -1,178 +0,0 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* GPL LICENSE SUMMARY
|
||||
*
|
||||
* Copyright(c) 2008 - 2012 Intel Corporation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110,
|
||||
* USA
|
||||
*
|
||||
* The full GNU General Public License is included in this distribution
|
||||
* in the file called LICENSE.GPL.
|
||||
*
|
||||
* Contact Information:
|
||||
* Intel Linux Wireless <ilw@linux.intel.com>
|
||||
* Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
|
||||
*****************************************************************************/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
#include <net/mac80211.h>
|
||||
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-debug.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-power.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-trans.h"
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_DEBUGFS
|
||||
|
||||
const char *get_mgmt_string(int cmd)
|
||||
{
|
||||
#define IWL_CMD(x) case x: return #x
|
||||
switch (cmd) {
|
||||
IWL_CMD(MANAGEMENT_ASSOC_REQ);
|
||||
IWL_CMD(MANAGEMENT_ASSOC_RESP);
|
||||
IWL_CMD(MANAGEMENT_REASSOC_REQ);
|
||||
IWL_CMD(MANAGEMENT_REASSOC_RESP);
|
||||
IWL_CMD(MANAGEMENT_PROBE_REQ);
|
||||
IWL_CMD(MANAGEMENT_PROBE_RESP);
|
||||
IWL_CMD(MANAGEMENT_BEACON);
|
||||
IWL_CMD(MANAGEMENT_ATIM);
|
||||
IWL_CMD(MANAGEMENT_DISASSOC);
|
||||
IWL_CMD(MANAGEMENT_AUTH);
|
||||
IWL_CMD(MANAGEMENT_DEAUTH);
|
||||
IWL_CMD(MANAGEMENT_ACTION);
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
|
||||
}
|
||||
#undef IWL_CMD
|
||||
}
|
||||
|
||||
const char *get_ctrl_string(int cmd)
|
||||
{
|
||||
#define IWL_CMD(x) case x: return #x
|
||||
switch (cmd) {
|
||||
IWL_CMD(CONTROL_BACK_REQ);
|
||||
IWL_CMD(CONTROL_BACK);
|
||||
IWL_CMD(CONTROL_PSPOLL);
|
||||
IWL_CMD(CONTROL_RTS);
|
||||
IWL_CMD(CONTROL_CTS);
|
||||
IWL_CMD(CONTROL_ACK);
|
||||
IWL_CMD(CONTROL_CFEND);
|
||||
IWL_CMD(CONTROL_CFENDACK);
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
|
||||
}
|
||||
#undef IWL_CMD
|
||||
}
|
||||
|
||||
/*
|
||||
* if CONFIG_IWLWIFI_DEBUGFS defined, iwl_update_stats function will
|
||||
* record all the MGMT, CTRL and DATA pkt for both TX and Rx pass.
|
||||
* Use debugFs to display the rx/rx_statistics
|
||||
* if CONFIG_IWLWIFI_DEBUGFS not being defined, then no MGMT and CTRL
|
||||
* information will be recorded, but DATA pkt still will be recorded
|
||||
* for the reason of iwl_led.c need to control the led blinking based on
|
||||
* number of tx and rx data.
|
||||
*
|
||||
*/
|
||||
void iwl_update_stats(struct iwl_priv *priv, bool is_tx, __le16 fc, u16 len)
|
||||
{
|
||||
struct traffic_stats *stats;
|
||||
|
||||
if (is_tx)
|
||||
stats = &priv->tx_stats;
|
||||
else
|
||||
stats = &priv->rx_stats;
|
||||
|
||||
if (ieee80211_is_mgmt(fc)) {
|
||||
switch (fc & cpu_to_le16(IEEE80211_FCTL_STYPE)) {
|
||||
case cpu_to_le16(IEEE80211_STYPE_ASSOC_REQ):
|
||||
stats->mgmt[MANAGEMENT_ASSOC_REQ]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP):
|
||||
stats->mgmt[MANAGEMENT_ASSOC_RESP]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_REASSOC_REQ):
|
||||
stats->mgmt[MANAGEMENT_REASSOC_REQ]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_REASSOC_RESP):
|
||||
stats->mgmt[MANAGEMENT_REASSOC_RESP]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_PROBE_REQ):
|
||||
stats->mgmt[MANAGEMENT_PROBE_REQ]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_PROBE_RESP):
|
||||
stats->mgmt[MANAGEMENT_PROBE_RESP]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_BEACON):
|
||||
stats->mgmt[MANAGEMENT_BEACON]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_ATIM):
|
||||
stats->mgmt[MANAGEMENT_ATIM]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_DISASSOC):
|
||||
stats->mgmt[MANAGEMENT_DISASSOC]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_AUTH):
|
||||
stats->mgmt[MANAGEMENT_AUTH]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_DEAUTH):
|
||||
stats->mgmt[MANAGEMENT_DEAUTH]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_ACTION):
|
||||
stats->mgmt[MANAGEMENT_ACTION]++;
|
||||
break;
|
||||
}
|
||||
} else if (ieee80211_is_ctl(fc)) {
|
||||
switch (fc & cpu_to_le16(IEEE80211_FCTL_STYPE)) {
|
||||
case cpu_to_le16(IEEE80211_STYPE_BACK_REQ):
|
||||
stats->ctrl[CONTROL_BACK_REQ]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_BACK):
|
||||
stats->ctrl[CONTROL_BACK]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_PSPOLL):
|
||||
stats->ctrl[CONTROL_PSPOLL]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_RTS):
|
||||
stats->ctrl[CONTROL_RTS]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_CTS):
|
||||
stats->ctrl[CONTROL_CTS]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_ACK):
|
||||
stats->ctrl[CONTROL_ACK]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_CFEND):
|
||||
stats->ctrl[CONTROL_CFEND]++;
|
||||
break;
|
||||
case cpu_to_le16(IEEE80211_STYPE_CFENDACK):
|
||||
stats->ctrl[CONTROL_CFENDACK]++;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
/* data */
|
||||
stats->data_cnt++;
|
||||
stats->data_bytes += len;
|
||||
}
|
||||
}
|
||||
#endif
|
@ -1,90 +0,0 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* This file is provided under a dual BSD/GPLv2 license. When using or
|
||||
* redistributing this file, you may do so under either license.
|
||||
*
|
||||
* GPL LICENSE SUMMARY
|
||||
*
|
||||
* Copyright(c) 2008 - 2012 Intel Corporation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110,
|
||||
* USA
|
||||
*
|
||||
* The full GNU General Public License is included in this distribution
|
||||
* in the file called LICENSE.GPL.
|
||||
*
|
||||
* Contact Information:
|
||||
* Intel Linux Wireless <ilw@linux.intel.com>
|
||||
* Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
|
||||
*
|
||||
* BSD LICENSE
|
||||
*
|
||||
* Copyright(c) 2005 - 2012 Intel Corporation. All rights reserved.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* * Neither the name Intel Corporation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef __iwl_core_h__
|
||||
#define __iwl_core_h__
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-io.h"
|
||||
|
||||
/************************
|
||||
* forward declarations *
|
||||
************************/
|
||||
struct iwl_host_cmd;
|
||||
struct iwl_cmd;
|
||||
|
||||
/***************************
|
||||
* L i b *
|
||||
***************************/
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_DEBUGFS
|
||||
const char *get_mgmt_string(int cmd);
|
||||
const char *get_ctrl_string(int cmd);
|
||||
void iwl_update_stats(struct iwl_priv *priv, bool is_tx, __le16 fc, u16 len);
|
||||
#else
|
||||
static inline void iwl_update_stats(struct iwl_priv *priv, bool is_tx,
|
||||
__le16 fc, u16 len)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __iwl_core_h__ */
|
@ -37,7 +37,6 @@
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-debug.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn.h"
|
||||
|
||||
@ -111,85 +110,6 @@ static const struct file_operations iwl_dbgfs_##name##_ops = { \
|
||||
.llseek = generic_file_llseek, \
|
||||
};
|
||||
|
||||
static ssize_t iwl_dbgfs_tx_statistics_read(struct file *file,
|
||||
char __user *user_buf,
|
||||
size_t count, loff_t *ppos) {
|
||||
|
||||
struct iwl_priv *priv = file->private_data;
|
||||
char *buf;
|
||||
int pos = 0;
|
||||
|
||||
int cnt;
|
||||
ssize_t ret;
|
||||
const size_t bufsz = 100 +
|
||||
sizeof(char) * 50 * (MANAGEMENT_MAX + CONTROL_MAX);
|
||||
buf = kzalloc(bufsz, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "Management:\n");
|
||||
for (cnt = 0; cnt < MANAGEMENT_MAX; cnt++) {
|
||||
pos += scnprintf(buf + pos, bufsz - pos,
|
||||
"\t%25s\t\t: %u\n",
|
||||
get_mgmt_string(cnt),
|
||||
priv->tx_stats.mgmt[cnt]);
|
||||
}
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "Control\n");
|
||||
for (cnt = 0; cnt < CONTROL_MAX; cnt++) {
|
||||
pos += scnprintf(buf + pos, bufsz - pos,
|
||||
"\t%25s\t\t: %u\n",
|
||||
get_ctrl_string(cnt),
|
||||
priv->tx_stats.ctrl[cnt]);
|
||||
}
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "Data:\n");
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "\tcnt: %u\n",
|
||||
priv->tx_stats.data_cnt);
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "\tbytes: %llu\n",
|
||||
priv->tx_stats.data_bytes);
|
||||
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
|
||||
kfree(buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t iwl_dbgfs_rx_statistics_read(struct file *file,
|
||||
char __user *user_buf,
|
||||
size_t count, loff_t *ppos) {
|
||||
|
||||
struct iwl_priv *priv = file->private_data;
|
||||
char *buf;
|
||||
int pos = 0;
|
||||
int cnt;
|
||||
ssize_t ret;
|
||||
const size_t bufsz = 100 +
|
||||
sizeof(char) * 50 * (MANAGEMENT_MAX + CONTROL_MAX);
|
||||
buf = kzalloc(bufsz, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "Management:\n");
|
||||
for (cnt = 0; cnt < MANAGEMENT_MAX; cnt++) {
|
||||
pos += scnprintf(buf + pos, bufsz - pos,
|
||||
"\t%25s\t\t: %u\n",
|
||||
get_mgmt_string(cnt),
|
||||
priv->rx_stats.mgmt[cnt]);
|
||||
}
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "Control:\n");
|
||||
for (cnt = 0; cnt < CONTROL_MAX; cnt++) {
|
||||
pos += scnprintf(buf + pos, bufsz - pos,
|
||||
"\t%25s\t\t: %u\n",
|
||||
get_ctrl_string(cnt),
|
||||
priv->rx_stats.ctrl[cnt]);
|
||||
}
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "Data:\n");
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "\tcnt: %u\n",
|
||||
priv->rx_stats.data_cnt);
|
||||
pos += scnprintf(buf + pos, bufsz - pos, "\tbytes: %llu\n",
|
||||
priv->rx_stats.data_bytes);
|
||||
|
||||
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
|
||||
kfree(buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t iwl_dbgfs_sram_read(struct file *file,
|
||||
char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
@ -2405,8 +2325,6 @@ static ssize_t iwl_dbgfs_calib_disabled_write(struct file *file,
|
||||
return count;
|
||||
}
|
||||
|
||||
DEBUGFS_READ_FILE_OPS(rx_statistics);
|
||||
DEBUGFS_READ_FILE_OPS(tx_statistics);
|
||||
DEBUGFS_READ_FILE_OPS(ucode_rx_stats);
|
||||
DEBUGFS_READ_FILE_OPS(ucode_tx_stats);
|
||||
DEBUGFS_READ_FILE_OPS(ucode_general_stats);
|
||||
@ -2468,8 +2386,6 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name)
|
||||
DEBUGFS_ADD_FILE(disable_ht40, dir_data, S_IWUSR | S_IRUSR);
|
||||
DEBUGFS_ADD_FILE(temperature, dir_data, S_IRUSR);
|
||||
|
||||
DEBUGFS_ADD_FILE(rx_statistics, dir_debug, S_IRUSR);
|
||||
DEBUGFS_ADD_FILE(tx_statistics, dir_debug, S_IRUSR);
|
||||
DEBUGFS_ADD_FILE(power_save_status, dir_debug, S_IRUSR);
|
||||
DEBUGFS_ADD_FILE(clear_ucode_statistics, dir_debug, S_IWUSR);
|
||||
DEBUGFS_ADD_FILE(missed_beacon, dir_debug, S_IWUSR);
|
||||
|
@ -507,44 +507,6 @@ struct reply_agg_tx_error_statistics {
|
||||
u32 unknown;
|
||||
};
|
||||
|
||||
/* management statistics */
|
||||
enum iwl_mgmt_stats {
|
||||
MANAGEMENT_ASSOC_REQ = 0,
|
||||
MANAGEMENT_ASSOC_RESP,
|
||||
MANAGEMENT_REASSOC_REQ,
|
||||
MANAGEMENT_REASSOC_RESP,
|
||||
MANAGEMENT_PROBE_REQ,
|
||||
MANAGEMENT_PROBE_RESP,
|
||||
MANAGEMENT_BEACON,
|
||||
MANAGEMENT_ATIM,
|
||||
MANAGEMENT_DISASSOC,
|
||||
MANAGEMENT_AUTH,
|
||||
MANAGEMENT_DEAUTH,
|
||||
MANAGEMENT_ACTION,
|
||||
MANAGEMENT_MAX,
|
||||
};
|
||||
/* control statistics */
|
||||
enum iwl_ctrl_stats {
|
||||
CONTROL_BACK_REQ = 0,
|
||||
CONTROL_BACK,
|
||||
CONTROL_PSPOLL,
|
||||
CONTROL_RTS,
|
||||
CONTROL_CTS,
|
||||
CONTROL_ACK,
|
||||
CONTROL_CFEND,
|
||||
CONTROL_CFENDACK,
|
||||
CONTROL_MAX,
|
||||
};
|
||||
|
||||
struct traffic_stats {
|
||||
#ifdef CONFIG_IWLWIFI_DEBUGFS
|
||||
u32 mgmt[MANAGEMENT_MAX];
|
||||
u32 ctrl[CONTROL_MAX];
|
||||
u32 data_cnt;
|
||||
u64 data_bytes;
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
* schedule the timer to wake up every UCODE_TRACE_PERIOD milliseconds
|
||||
* to perform continuous uCode event logging operation if enabled
|
||||
@ -894,10 +856,6 @@ struct iwl_priv {
|
||||
|
||||
int activity_timer_active;
|
||||
|
||||
/* counts mgmt, ctl, and data packets */
|
||||
struct traffic_stats tx_stats;
|
||||
struct traffic_stats rx_stats;
|
||||
|
||||
struct iwl_power_mgr power_data;
|
||||
struct iwl_tt_mgmt thermal_throttle;
|
||||
|
||||
|
@ -69,7 +69,6 @@
|
||||
#include <net/mac80211.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-debug.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-eeprom.h"
|
||||
|
@ -36,7 +36,6 @@
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-trans.h"
|
||||
|
@ -44,7 +44,6 @@
|
||||
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn-calib.h"
|
||||
#include "iwl-agn.h"
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-commands.h"
|
||||
#include "iwl-debug.h"
|
||||
|
@ -32,7 +32,6 @@
|
||||
|
||||
#include "iwl-eeprom.h"
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn.h"
|
||||
#include "iwl-trans.h"
|
||||
|
@ -71,7 +71,6 @@
|
||||
#include <net/netlink.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-debug.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn.h"
|
||||
|
@ -31,7 +31,6 @@
|
||||
#include <linux/init.h>
|
||||
|
||||
#include "iwl-dev.h"
|
||||
#include "iwl-core.h"
|
||||
#include "iwl-io.h"
|
||||
#include "iwl-agn-hw.h"
|
||||
#include "iwl-agn.h"
|
||||
|
Loading…
Reference in New Issue
Block a user