summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath10k/htt.h
diff options
context:
space:
mode:
authorPeter Oh <poh@qca.qualcomm.com>2015-07-16 05:01:19 +0300
committerKalle Valo <kvalo@qca.qualcomm.com>2015-07-24 10:44:44 +0300
commitfbc03a466fd48bc8be2e675be948001feea29e4d (patch)
tree2e1f386c6fba7b45b7660e0b72b58bec76dbd937 /drivers/net/wireless/ath/ath10k/htt.h
parentacd195800ffca556e9c78c51d1efe534d71dd236 (diff)
downloadlinux-fbc03a466fd48bc8be2e675be948001feea29e4d.tar.xz
ath10k: update tx path to support QCA99X0
Since QCA99X0 uses fragmentation descriptor differently from other ones on tx path, we need to handle it separately. QCA99X0 is using 48 bits for address and 16 bits for length out of 2 dword and each values have to be programmed by frag desc base addr + msdu id, so that hardware can retrieve corresponding frag data. Signed-off-by: Peter Oh <poh@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/htt.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/htt.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt.h b/drivers/net/wireless/ath/ath10k/htt.h
index 8bdf1e7dd171..e31cd74dded6 100644
--- a/drivers/net/wireless/ath/ath10k/htt.h
+++ b/drivers/net/wireless/ath/ath10k/htt.h
@@ -83,8 +83,17 @@ struct htt_ver_req {
* around the mask + shift defs.
*/
struct htt_data_tx_desc_frag {
- __le32 paddr;
- __le32 len;
+ union {
+ struct double_word_addr {
+ __le32 paddr;
+ __le32 len;
+ } __packed dword_addr;
+ struct triple_word_addr {
+ __le32 paddr_lo;
+ __le16 paddr_hi;
+ __le16 len_16;
+ } __packed tword_addr;
+ } __packed;
} __packed;
struct htt_msdu_ext_desc {