aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/carl9170/carl9170.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/carl9170/carl9170.h')
-rw-r--r--drivers/net/wireless/ath/carl9170/carl9170.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/carl9170/carl9170.h b/drivers/net/wireless/ath/carl9170/carl9170.h
index c5427a72a1e2..6cfbb419e2f6 100644
--- a/drivers/net/wireless/ath/carl9170/carl9170.h
+++ b/drivers/net/wireless/ath/carl9170/carl9170.h
@@ -43,6 +43,7 @@
43#include <linux/firmware.h> 43#include <linux/firmware.h>
44#include <linux/completion.h> 44#include <linux/completion.h>
45#include <linux/spinlock.h> 45#include <linux/spinlock.h>
46#include <linux/hw_random.h>
46#include <net/cfg80211.h> 47#include <net/cfg80211.h>
47#include <net/mac80211.h> 48#include <net/mac80211.h>
48#include <linux/usb.h> 49#include <linux/usb.h>
@@ -151,6 +152,7 @@ struct carl9170_sta_tid {
151#define CARL9170_TX_TIMEOUT 2500 152#define CARL9170_TX_TIMEOUT 2500
152#define CARL9170_JANITOR_DELAY 128 153#define CARL9170_JANITOR_DELAY 128
153#define CARL9170_QUEUE_STUCK_TIMEOUT 5500 154#define CARL9170_QUEUE_STUCK_TIMEOUT 5500
155#define CARL9170_STAT_WORK 30000
154 156
155#define CARL9170_NUM_TX_AGG_MAX 30 157#define CARL9170_NUM_TX_AGG_MAX 30
156 158
@@ -282,6 +284,7 @@ struct ar9170 {
282 bool rx_stream; 284 bool rx_stream;
283 bool tx_stream; 285 bool tx_stream;
284 bool rx_filter; 286 bool rx_filter;
287 bool hw_counters;
285 unsigned int mem_blocks; 288 unsigned int mem_blocks;
286 unsigned int mem_block_size; 289 unsigned int mem_block_size;
287 unsigned int rx_size; 290 unsigned int rx_size;
@@ -331,11 +334,21 @@ struct ar9170 {
331 334
332 /* PHY */ 335 /* PHY */
333 struct ieee80211_channel *channel; 336 struct ieee80211_channel *channel;
337 unsigned int num_channels;
334 int noise[4]; 338 int noise[4];
335 unsigned int chan_fail; 339 unsigned int chan_fail;
336 unsigned int total_chan_fail; 340 unsigned int total_chan_fail;
337 u8 heavy_clip; 341 u8 heavy_clip;
338 u8 ht_settings; 342 u8 ht_settings;
343 struct {
344 u64 active; /* usec */
345 u64 cca; /* usec */
346 u64 tx_time; /* usec */
347 u64 rx_total;
348 u64 rx_overrun;
349 } tally;
350 struct delayed_work stat_work;
351 struct survey_info *survey;
339 352
340 /* power calibration data */ 353 /* power calibration data */
341 u8 power_5G_leg[4]; 354 u8 power_5G_leg[4];
@@ -437,6 +450,17 @@ struct ar9170 {
437 unsigned int off_override; 450 unsigned int off_override;
438 bool state; 451 bool state;
439 } ps; 452 } ps;
453
454#ifdef CONFIG_CARL9170_HWRNG
455# define CARL9170_HWRNG_CACHE_SIZE CARL9170_MAX_CMD_PAYLOAD_LEN
456 struct {
457 struct hwrng rng;
458 bool initialized;
459 char name[30 + 1];
460 u16 cache[CARL9170_HWRNG_CACHE_SIZE / sizeof(u16)];
461 unsigned int cache_idx;
462 } rng;
463#endif /* CONFIG_CARL9170_HWRNG */
440}; 464};
441 465
442enum carl9170_ps_off_override_reasons { 466enum carl9170_ps_off_override_reasons {