mirror of https://gitee.com/openkylin/linux.git
iwlwifi: add num_of_sos_stats to statistics counter
When uCode detects number of beacon missed consecutively above the internal missed beacon threshold (set by uCode), it will reset and re-tune the radio in order to get out of bad PHY state. This "num_of_sos_states" counter monitors number of time uCode encounters this bad condition and has to re-tune the radio. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
e3ef216438
commit
11fc524941
|
@ -3095,7 +3095,12 @@ struct statistics_general {
|
||||||
__le32 ttl_timestamp;
|
__le32 ttl_timestamp;
|
||||||
struct statistics_div div;
|
struct statistics_div div;
|
||||||
__le32 rx_enable_counter;
|
__le32 rx_enable_counter;
|
||||||
__le32 reserved1;
|
/*
|
||||||
|
* num_of_sos_states:
|
||||||
|
* count the number of times we have to re-tune
|
||||||
|
* in order to get out of bad PHY status
|
||||||
|
*/
|
||||||
|
__le32 num_of_sos_states;
|
||||||
__le32 reserved2;
|
__le32 reserved2;
|
||||||
__le32 reserved3;
|
__le32 reserved3;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
|
@ -1728,7 +1728,7 @@ static ssize_t iwl_dbgfs_ucode_general_stats_read(struct file *file,
|
||||||
struct iwl_priv *priv = file->private_data;
|
struct iwl_priv *priv = file->private_data;
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
char *buf;
|
char *buf;
|
||||||
int bufsz = sizeof(struct statistics_general) * 8 + 250;
|
int bufsz = sizeof(struct statistics_general) * 10 + 300;
|
||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
struct statistics_general *general, *accum_general;
|
struct statistics_general *general, *accum_general;
|
||||||
struct statistics_general *delta_general, *max_general;
|
struct statistics_general *delta_general, *max_general;
|
||||||
|
@ -1828,6 +1828,12 @@ static ssize_t iwl_dbgfs_ucode_general_stats_read(struct file *file,
|
||||||
accum_general->rx_enable_counter,
|
accum_general->rx_enable_counter,
|
||||||
delta_general->rx_enable_counter,
|
delta_general->rx_enable_counter,
|
||||||
max_general->rx_enable_counter);
|
max_general->rx_enable_counter);
|
||||||
|
pos += scnprintf(buf + pos, bufsz - pos, ucode_stats_format,
|
||||||
|
"num_of_sos_states:",
|
||||||
|
le32_to_cpu(general->num_of_sos_states),
|
||||||
|
accum_general->num_of_sos_states,
|
||||||
|
delta_general->num_of_sos_states,
|
||||||
|
max_general->num_of_sos_states);
|
||||||
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
|
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
|
||||||
kfree(buf);
|
kfree(buf);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue