Commit c108c905 authored by Luciano Coelho's avatar Luciano Coelho

wlcore: gather information about firmware stability

It's sometimes useful to gather information about the firmware
stability in long test runs, especially to see if problems are
recurring frequently or not.  With this commit we count the number of
times a hardware recovery was issued and print it out during recovery
and in the driver_state in debugfs.
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
Signed-off-by: default avatarIgal Chernobelsky <igalc@ti.com>
Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 518b680a
...@@ -490,6 +490,7 @@ static ssize_t driver_state_read(struct file *file, char __user *user_buf, ...@@ -490,6 +490,7 @@ static ssize_t driver_state_read(struct file *file, char __user *user_buf,
DRIVER_STATE_PRINT_HEX(chip.id); DRIVER_STATE_PRINT_HEX(chip.id);
DRIVER_STATE_PRINT_STR(chip.fw_ver_str); DRIVER_STATE_PRINT_STR(chip.fw_ver_str);
DRIVER_STATE_PRINT_STR(chip.phy_fw_ver_str); DRIVER_STATE_PRINT_STR(chip.phy_fw_ver_str);
DRIVER_STATE_PRINT_INT(recovery_count);
#undef DRIVER_STATE_PRINT_INT #undef DRIVER_STATE_PRINT_INT
#undef DRIVER_STATE_PRINT_LONG #undef DRIVER_STATE_PRINT_LONG
......
...@@ -879,7 +879,8 @@ static void wlcore_print_recovery(struct wl1271 *wl) ...@@ -879,7 +879,8 @@ static void wlcore_print_recovery(struct wl1271 *wl)
if (ret < 0) if (ret < 0)
return; return;
wl1271_info("pc: 0x%x, hint_sts: 0x%08x", pc, hint_sts); wl1271_info("pc: 0x%x, hint_sts: 0x%08x count: %d",
pc, hint_sts, ++wl->recovery_count);
wlcore_set_partition(wl, &wl->ptable[PART_WORK]); wlcore_set_partition(wl, &wl->ptable[PART_WORK]);
} }
...@@ -5685,6 +5686,7 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size, ...@@ -5685,6 +5686,7 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size,
wl->flags = 0; wl->flags = 0;
wl->sg_enabled = true; wl->sg_enabled = true;
wl->sleep_auth = WL1271_PSM_ILLEGAL; wl->sleep_auth = WL1271_PSM_ILLEGAL;
wl->recovery_count = 0;
wl->hw_pg_ver = -1; wl->hw_pg_ver = -1;
wl->ap_ps_map = 0; wl->ap_ps_map = 0;
wl->ap_fw_ps_map = 0; wl->ap_fw_ps_map = 0;
......
...@@ -337,6 +337,8 @@ struct wl1271 { ...@@ -337,6 +337,8 @@ struct wl1271 {
bool enable_11a; bool enable_11a;
int recovery_count;
/* Most recently reported noise in dBm */ /* Most recently reported noise in dBm */
s8 noise; s8 noise;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment