From 85c901a0913114a1812337250ebf6047f60522cf Mon Sep 17 00:00:00 2001 From: Dmitry Tarnyagin Date: Wed, 29 Feb 2012 15:15:23 +0100 Subject: 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 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41129 Reviewed-by: Bartosz MARKOWSKI Tested-by: Bartosz MARKOWSKI --- drivers/staging/cw1200/cw1200.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers/staging/cw1200/cw1200.h') 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; -- cgit v1.2.3