aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h64
1 files changed, 52 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h
index 928168b18346..709e28d8b1b0 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h
+++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h
@@ -65,6 +65,7 @@
65 65
66#ifndef __fw_api_stats_h__ 66#ifndef __fw_api_stats_h__
67#define __fw_api_stats_h__ 67#define __fw_api_stats_h__
68#include "fw-api-mac.h"
68 69
69struct mvm_statistics_dbg { 70struct mvm_statistics_dbg {
70 __le32 burst_check; 71 __le32 burst_check;
@@ -218,7 +219,7 @@ struct mvm_statistics_bt_activity {
218 __le32 lo_priority_rx_denied_cnt; 219 __le32 lo_priority_rx_denied_cnt;
219} __packed; /* STATISTICS_BT_ACTIVITY_API_S_VER_1 */ 220} __packed; /* STATISTICS_BT_ACTIVITY_API_S_VER_1 */
220 221
221struct mvm_statistics_general { 222struct mvm_statistics_general_v5 {
222 __le32 radio_temperature; 223 __le32 radio_temperature;
223 __le32 radio_voltage; 224 __le32 radio_voltage;
224 struct mvm_statistics_dbg dbg; 225 struct mvm_statistics_dbg dbg;
@@ -244,6 +245,39 @@ struct mvm_statistics_general {
244 struct mvm_statistics_bt_activity bt_activity; 245 struct mvm_statistics_bt_activity bt_activity;
245} __packed; /* STATISTICS_GENERAL_API_S_VER_5 */ 246} __packed; /* STATISTICS_GENERAL_API_S_VER_5 */
246 247
248struct mvm_statistics_general_v8 {
249 __le32 radio_temperature;
250 __le32 radio_voltage;
251 struct mvm_statistics_dbg dbg;
252 __le32 sleep_time;
253 __le32 slots_out;
254 __le32 slots_idle;
255 __le32 ttl_timestamp;
256 struct mvm_statistics_div slow_div;
257 __le32 rx_enable_counter;
258 /*
259 * num_of_sos_states:
260 * count the number of times we have to re-tune
261 * in order to get out of bad PHY status
262 */
263 __le32 num_of_sos_states;
264 __le32 beacon_filtered;
265 __le32 missed_beacons;
266 __s8 beacon_filter_average_energy;
267 __s8 beacon_filter_reason;
268 __s8 beacon_filter_current_energy;
269 __s8 beacon_filter_reserved;
270 __le32 beacon_filter_delta_time;
271 struct mvm_statistics_bt_activity bt_activity;
272 __le64 rx_time;
273 __le64 on_time_rf;
274 __le64 on_time_scan;
275 __le64 tx_time;
276 __le32 beacon_counter[NUM_MAC_INDEX];
277 u8 beacon_average_energy[NUM_MAC_INDEX];
278 u8 reserved[4 - (NUM_MAC_INDEX % 4)];
279} __packed; /* STATISTICS_GENERAL_API_S_VER_8 */
280
247struct mvm_statistics_rx { 281struct mvm_statistics_rx {
248 struct mvm_statistics_rx_phy ofdm; 282 struct mvm_statistics_rx_phy ofdm;
249 struct mvm_statistics_rx_phy cck; 283 struct mvm_statistics_rx_phy cck;
@@ -256,22 +290,28 @@ struct mvm_statistics_rx {
256 * 290 *
257 * By default, uCode issues this notification after receiving a beacon 291 * By default, uCode issues this notification after receiving a beacon
258 * while associated. To disable this behavior, set DISABLE_NOTIF flag in the 292 * while associated. To disable this behavior, set DISABLE_NOTIF flag in the
259 * REPLY_STATISTICS_CMD 0x9c, above. 293 * STATISTICS_CMD (0x9c), below.
260 *
261 * Statistics counters continue to increment beacon after beacon, but are
262 * cleared when changing channels or when driver issues REPLY_STATISTICS_CMD
263 * 0x9c with CLEAR_STATS bit set (see above).
264 *
265 * uCode also issues this notification during scans. uCode clears statistics
266 * appropriately so that each notification contains statistics for only the
267 * one channel that has just been scanned.
268 */ 294 */
269 295
270struct iwl_notif_statistics { 296struct iwl_notif_statistics_v8 {
271 __le32 flag; 297 __le32 flag;
272 struct mvm_statistics_rx rx; 298 struct mvm_statistics_rx rx;
273 struct mvm_statistics_tx tx; 299 struct mvm_statistics_tx tx;
274 struct mvm_statistics_general general; 300 struct mvm_statistics_general_v5 general;
275} __packed; /* STATISTICS_NTFY_API_S_VER_8 */ 301} __packed; /* STATISTICS_NTFY_API_S_VER_8 */
276 302
303struct iwl_notif_statistics_v10 {
304 __le32 flag;
305 struct mvm_statistics_rx rx;
306 struct mvm_statistics_tx tx;
307 struct mvm_statistics_general_v8 general;
308} __packed; /* STATISTICS_NTFY_API_S_VER_10 */
309
310#define IWL_STATISTICS_FLG_CLEAR 0x1
311#define IWL_STATISTICS_FLG_DISABLE_NOTIF 0x2
312
313struct iwl_statistics_cmd {
314 __le32 flags;
315} __packed; /* STATISTICS_CMD_API_S_VER_1 */
316
277#endif /* __fw_api_stats_h__ */ 317#endif /* __fw_api_stats_h__ */