summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/cw1200.h
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2012-02-29 15:15:23 +0100
committerPhilippe Langlais <philippe.langlais@linaro.org>2012-03-19 09:02:09 +0100
commit85c901a0913114a1812337250ebf6047f60522cf (patch)
tree15f9ffbf9ca6194dc4543c9216508485f4cd4c3d /drivers/staging/cw1200/cw1200.h
parent5acc59be20870343bf45156d99b89a0189feca6d (diff)
cw1200: Dynamic BA.
Patch implements enabling of block ACK only if valuable data traffic is detected on the interface. BA is disabled for small packets (in assumption of voice/video) and low-thoughput data traffic. ST-Ericsson ID: 405634, 407777 ST-Ericsson FOSS-OUT ID: NA Change-Id: Ic30b65a5b8ea83fe6c865866209a786f26d00c18 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41129 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Diffstat (limited to 'drivers/staging/cw1200/cw1200.h')
-rw-r--r--drivers/staging/cw1200/cw1200.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/staging/cw1200/cw1200.h b/drivers/staging/cw1200/cw1200.h
index ff69098c8a7..3ae1b915566 100644
--- a/drivers/staging/cw1200/cw1200.h
+++ b/drivers/staging/cw1200/cw1200.h
@@ -52,6 +52,11 @@
#define CW1200_MAX_TID (8)
+#define CW1200_BLOCK_ACK_CNT (30)
+#define CW1200_BLOCK_ACK_THLD (800)
+#define CW1200_BLOCK_ACK_HIST (3)
+#define CW1200_BLOCK_ACK_INTERVAL (1 * HZ / CW1200_BLOCK_ACK_HIST)
+
/* Please keep order */
enum cw1200_join_status {
CW1200_JOIN_STATUS_PASSIVE = 0,
@@ -156,6 +161,13 @@ struct cw1200_common {
bool disable_beacon_filter;
struct work_struct update_filtering_work;
u8 ba_tid_mask;
+ int ba_acc;
+ int ba_cnt;
+ int ba_hist;
+ struct timer_list ba_timer;
+ spinlock_t ba_lock;
+ bool ba_ena;
+ struct work_struct ba_work;
struct cw1200_pm_state pm_state;
struct wsm_p2p_ps_modeinfo p2p_ps_modeinfo;
struct wsm_uapsd_info uapsd_info;