summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wcn36xx/txrx.h
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2015-01-09 20:15:47 +0100
committerKalle Valo <kvalo@codeaurora.org>2015-01-23 18:11:58 +0100
commit232ddcd80fa5c878efd631c6562cbaa24535bdc1 (patch)
treedb5406331377c99bb9b889c151ef80767190415c /drivers/net/wireless/ath/wcn36xx/txrx.h
parentwcn36xx: use !! when assigning int as a boolean (diff)
downloadlinux-232ddcd80fa5c878efd631c6562cbaa24535bdc1.tar.xz
linux-232ddcd80fa5c878efd631c6562cbaa24535bdc1.zip
wcn36xx: let device generate qos seq numbers
wcn36xx currently sends an incorrect sequence number into the BA session setup firmware command: it should be saving or updating the ssn in the TX_START ampdu_action callback instead of waiting until TX_OPERATIONAL. However, we can sidestep the issue by letting the hardware generate the sequence numbers for QoS frames, as is done in prima, so do that. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/wcn36xx/txrx.h')
-rw-r--r--drivers/net/wireless/ath/wcn36xx/txrx.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/wcn36xx/txrx.h b/drivers/net/wireless/ath/wcn36xx/txrx.h
index bbfbcf808c77..032216e82b2b 100644
--- a/drivers/net/wireless/ath/wcn36xx/txrx.h
+++ b/drivers/net/wireless/ath/wcn36xx/txrx.h
@@ -32,6 +32,12 @@
#define WCN36XX_BD_RATE_MGMT 2
#define WCN36XX_BD_RATE_CTRL 3
+enum wcn36xx_txbd_ssn_type {
+ WCN36XX_TXBD_SSN_FILL_HOST = 0,
+ WCN36XX_TXBD_SSN_FILL_DPU_NON_QOS = 1,
+ WCN36XX_TXBD_SSN_FILL_DPU_QOS = 2,
+};
+
struct wcn36xx_pdu {
u32 dpu_fb:8;
u32 adu_fb:8;
@@ -50,7 +56,8 @@ struct wcn36xx_pdu {
/* 0x0c*/
u32 reserved4:8;
u32 tid:4;
- u32 reserved3:4;
+ u32 bd_ssn:2;
+ u32 reserved3:2;
u32 mpdu_len:16;
};