tx_msdu_extension.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  1. /*
  2. * Copyright (c) 2019 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. //
  19. // DO NOT EDIT! This file is automatically generated
  20. // These definitions are tied to a particular hardware layout
  21. #ifndef _TX_MSDU_EXTENSION_H_
  22. #define _TX_MSDU_EXTENSION_H_
  23. #if !defined(__ASSEMBLER__)
  24. #endif
  25. // ################ START SUMMARY #################
  26. //
  27. // Dword Fields
  28. // 0 tso_enable[0], reserved_0a[6:1], tcp_flag[15:7], tcp_flag_mask[24:16], reserved_0b[31:25]
  29. // 1 l2_length[15:0], ip_length[31:16]
  30. // 2 tcp_seq_number[31:0]
  31. // 3 ip_identification[15:0], udp_length[31:16]
  32. // 4 checksum_offset[13:0], partial_checksum_en[14], reserved_4a[15], payload_start_offset[29:16], reserved_4b[31:30]
  33. // 5 payload_end_offset[13:0], reserved_5a[15:14], wds[16], reserved_5b[31:17]
  34. // 6 buf0_ptr_31_0[31:0]
  35. // 7 buf0_ptr_39_32[7:0], reserved_7a[15:8], buf0_len[31:16]
  36. // 8 buf1_ptr_31_0[31:0]
  37. // 9 buf1_ptr_39_32[7:0], reserved_9a[15:8], buf1_len[31:16]
  38. // 10 buf2_ptr_31_0[31:0]
  39. // 11 buf2_ptr_39_32[7:0], reserved_11a[15:8], buf2_len[31:16]
  40. // 12 buf3_ptr_31_0[31:0]
  41. // 13 buf3_ptr_39_32[7:0], reserved_13a[15:8], buf3_len[31:16]
  42. // 14 buf4_ptr_31_0[31:0]
  43. // 15 buf4_ptr_39_32[7:0], reserved_15a[15:8], buf4_len[31:16]
  44. // 16 buf5_ptr_31_0[31:0]
  45. // 17 buf5_ptr_39_32[7:0], reserved_17a[15:8], buf5_len[31:16]
  46. //
  47. // ################ END SUMMARY #################
  48. #define NUM_OF_DWORDS_TX_MSDU_EXTENSION 18
  49. struct tx_msdu_extension {
  50. uint32_t tso_enable : 1, //[0]
  51. reserved_0a : 6, //[6:1]
  52. tcp_flag : 9, //[15:7]
  53. tcp_flag_mask : 9, //[24:16]
  54. reserved_0b : 7; //[31:25]
  55. uint32_t l2_length : 16, //[15:0]
  56. ip_length : 16; //[31:16]
  57. uint32_t tcp_seq_number : 32; //[31:0]
  58. uint32_t ip_identification : 16, //[15:0]
  59. udp_length : 16; //[31:16]
  60. uint32_t checksum_offset : 14, //[13:0]
  61. partial_checksum_en : 1, //[14]
  62. reserved_4a : 1, //[15]
  63. payload_start_offset : 14, //[29:16]
  64. reserved_4b : 2; //[31:30]
  65. uint32_t payload_end_offset : 14, //[13:0]
  66. reserved_5a : 2, //[15:14]
  67. wds : 1, //[16]
  68. reserved_5b : 15; //[31:17]
  69. uint32_t buf0_ptr_31_0 : 32; //[31:0]
  70. uint32_t buf0_ptr_39_32 : 8, //[7:0]
  71. reserved_7a : 8, //[15:8]
  72. buf0_len : 16; //[31:16]
  73. uint32_t buf1_ptr_31_0 : 32; //[31:0]
  74. uint32_t buf1_ptr_39_32 : 8, //[7:0]
  75. reserved_9a : 8, //[15:8]
  76. buf1_len : 16; //[31:16]
  77. uint32_t buf2_ptr_31_0 : 32; //[31:0]
  78. uint32_t buf2_ptr_39_32 : 8, //[7:0]
  79. reserved_11a : 8, //[15:8]
  80. buf2_len : 16; //[31:16]
  81. uint32_t buf3_ptr_31_0 : 32; //[31:0]
  82. uint32_t buf3_ptr_39_32 : 8, //[7:0]
  83. reserved_13a : 8, //[15:8]
  84. buf3_len : 16; //[31:16]
  85. uint32_t buf4_ptr_31_0 : 32; //[31:0]
  86. uint32_t buf4_ptr_39_32 : 8, //[7:0]
  87. reserved_15a : 8, //[15:8]
  88. buf4_len : 16; //[31:16]
  89. uint32_t buf5_ptr_31_0 : 32; //[31:0]
  90. uint32_t buf5_ptr_39_32 : 8, //[7:0]
  91. reserved_17a : 8, //[15:8]
  92. buf5_len : 16; //[31:16]
  93. };
  94. /*
  95. tso_enable
  96. Enable transmit segmentation offload <legal all>
  97. reserved_0a
  98. FW will set to 0, MAC will ignore.  <legal 0>
  99. tcp_flag
  100. TCP flags
  101. {NS,CWR,ECE,URG,ACK,PSH, RST ,SYN,FIN}<legal all>
  102. tcp_flag_mask
  103. TCP flag mask. Tcp_flag is inserted into the header
  104. based on the mask, if tso is enabled
  105. reserved_0b
  106. FW will set to 0, MAC will ignore.  <legal 0>
  107. l2_length
  108. L2 length for the msdu, if tso is enabled <legal all>
  109. ip_length
  110. Ip length for the msdu, if tso is enabled <legal all>
  111. tcp_seq_number
  112. Tcp_seq_number for the msdu, if tso is enabled <legal
  113. all>
  114. ip_identification
  115. Ip_identification for the msdu, if tso is enabled <legal
  116. all>
  117. udp_length
  118. TXDMA is copies this field into MSDU START TLV
  119. checksum_offset
  120. The calculated checksum from start offset to end offset
  121. will be added to the checksum at the offset given by this
  122. field<legal all>
  123. partial_checksum_en
  124. Partial Checksum Enable Bit.
  125. <legal 0-1>
  126. reserved_4a
  127. <Legal 0>
  128. payload_start_offset
  129. L4 checksum calculations will start fromt this offset
  130. <Legal all>
  131. reserved_4b
  132. <Legal 0>
  133. payload_end_offset
  134. L4 checksum calculations will end at this offset.
  135. <Legal all>
  136. reserved_5a
  137. <Legal 0>
  138. wds
  139. If set the current packet is 4-address frame. Required
  140. because an aggregate can include some frames with 3 address
  141. format and other frames with 4 address format. Used by the
  142. OLE during encapsulation.
  143. Note: there is also global wds tx control in the
  144. TX_PEER_ENTRY
  145. <legal all>
  146. reserved_5b
  147. <Legal 0>
  148. buf0_ptr_31_0
  149. Lower 32 bits of the first buffer pointer
  150. NOTE: SW/FW manages the 'cookie' info related to this
  151. buffer together with the 'cookie' info for this
  152. MSDU_EXTENSION descriptor
  153. <legal all>
  154. buf0_ptr_39_32
  155. Upper 8 bits of the first buffer pointer <legal all>
  156. reserved_7a
  157. <Legal 0>
  158. buf0_len
  159. Length of the first buffer <legal all>
  160. buf1_ptr_31_0
  161. Lower 32 bits of the second buffer pointer
  162. NOTE: SW/FW manages the 'cookie' info related to this
  163. buffer together with the 'cookie' info for this
  164. MSDU_EXTENSION descriptor
  165. <legal all>
  166. buf1_ptr_39_32
  167. Upper 8 bits of the second buffer pointer <legal all>
  168. reserved_9a
  169. <Legal 0>
  170. buf1_len
  171. Length of the second buffer <legal all>
  172. buf2_ptr_31_0
  173. Lower 32 bits of the third buffer pointer
  174. NOTE: SW/FW manages the 'cookie' info related to this
  175. buffer together with the 'cookie' info for this
  176. MSDU_EXTENSION descriptor
  177. <legal all>
  178. buf2_ptr_39_32
  179. Upper 8 bits of the third buffer pointer <legal all>
  180. reserved_11a
  181. <Legal 0>
  182. buf2_len
  183. Length of the third buffer <legal all>
  184. buf3_ptr_31_0
  185. Lower 32 bits of the fourth buffer pointer
  186. NOTE: SW/FW manages the 'cookie' info related to this
  187. buffer together with the 'cookie' info for this
  188. MSDU_EXTENSION descriptor
  189. <legal all>
  190. buf3_ptr_39_32
  191. Upper 8 bits of the fourth buffer pointer <legal all>
  192. reserved_13a
  193. <Legal 0>
  194. buf3_len
  195. Length of the fourth buffer <legal all>
  196. buf4_ptr_31_0
  197. Lower 32 bits of the fifth buffer pointer
  198. NOTE: SW/FW manages the 'cookie' info related to this
  199. buffer together with the 'cookie' info for this
  200. MSDU_EXTENSION descriptor
  201. <legal all>
  202. buf4_ptr_39_32
  203. Upper 8 bits of the fifth buffer pointer <legal all>
  204. reserved_15a
  205. <Legal 0>
  206. buf4_len
  207. Length of the fifth buffer <legal all>
  208. buf5_ptr_31_0
  209. Lower 32 bits of the sixth buffer pointer
  210. NOTE: SW/FW manages the 'cookie' info related to this
  211. buffer together with the 'cookie' info for this
  212. MSDU_EXTENSION descriptor
  213. <legal all>
  214. buf5_ptr_39_32
  215. Upper 8 bits of the sixth buffer pointer <legal all>
  216. reserved_17a
  217. <Legal 0>
  218. buf5_len
  219. Length of the sixth buffer <legal all>
  220. */
  221. /* Description TX_MSDU_EXTENSION_0_TSO_ENABLE
  222. Enable transmit segmentation offload <legal all>
  223. */
  224. #define TX_MSDU_EXTENSION_0_TSO_ENABLE_OFFSET 0x00000000
  225. #define TX_MSDU_EXTENSION_0_TSO_ENABLE_LSB 0
  226. #define TX_MSDU_EXTENSION_0_TSO_ENABLE_MASK 0x00000001
  227. /* Description TX_MSDU_EXTENSION_0_RESERVED_0A
  228. FW will set to 0, MAC will ignore.  <legal 0>
  229. */
  230. #define TX_MSDU_EXTENSION_0_RESERVED_0A_OFFSET 0x00000000
  231. #define TX_MSDU_EXTENSION_0_RESERVED_0A_LSB 1
  232. #define TX_MSDU_EXTENSION_0_RESERVED_0A_MASK 0x0000007e
  233. /* Description TX_MSDU_EXTENSION_0_TCP_FLAG
  234. TCP flags
  235. {NS,CWR,ECE,URG,ACK,PSH, RST ,SYN,FIN}<legal all>
  236. */
  237. #define TX_MSDU_EXTENSION_0_TCP_FLAG_OFFSET 0x00000000
  238. #define TX_MSDU_EXTENSION_0_TCP_FLAG_LSB 7
  239. #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK 0x0000ff80
  240. /* Description TX_MSDU_EXTENSION_0_TCP_FLAG_MASK
  241. TCP flag mask. Tcp_flag is inserted into the header
  242. based on the mask, if tso is enabled
  243. */
  244. #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK_OFFSET 0x00000000
  245. #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK_LSB 16
  246. #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK_MASK 0x01ff0000
  247. /* Description TX_MSDU_EXTENSION_0_RESERVED_0B
  248. FW will set to 0, MAC will ignore.  <legal 0>
  249. */
  250. #define TX_MSDU_EXTENSION_0_RESERVED_0B_OFFSET 0x00000000
  251. #define TX_MSDU_EXTENSION_0_RESERVED_0B_LSB 25
  252. #define TX_MSDU_EXTENSION_0_RESERVED_0B_MASK 0xfe000000
  253. /* Description TX_MSDU_EXTENSION_1_L2_LENGTH
  254. L2 length for the msdu, if tso is enabled <legal all>
  255. */
  256. #define TX_MSDU_EXTENSION_1_L2_LENGTH_OFFSET 0x00000004
  257. #define TX_MSDU_EXTENSION_1_L2_LENGTH_LSB 0
  258. #define TX_MSDU_EXTENSION_1_L2_LENGTH_MASK 0x0000ffff
  259. /* Description TX_MSDU_EXTENSION_1_IP_LENGTH
  260. Ip length for the msdu, if tso is enabled <legal all>
  261. */
  262. #define TX_MSDU_EXTENSION_1_IP_LENGTH_OFFSET 0x00000004
  263. #define TX_MSDU_EXTENSION_1_IP_LENGTH_LSB 16
  264. #define TX_MSDU_EXTENSION_1_IP_LENGTH_MASK 0xffff0000
  265. /* Description TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER
  266. Tcp_seq_number for the msdu, if tso is enabled <legal
  267. all>
  268. */
  269. #define TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER_OFFSET 0x00000008
  270. #define TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER_LSB 0
  271. #define TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER_MASK 0xffffffff
  272. /* Description TX_MSDU_EXTENSION_3_IP_IDENTIFICATION
  273. Ip_identification for the msdu, if tso is enabled <legal
  274. all>
  275. */
  276. #define TX_MSDU_EXTENSION_3_IP_IDENTIFICATION_OFFSET 0x0000000c
  277. #define TX_MSDU_EXTENSION_3_IP_IDENTIFICATION_LSB 0
  278. #define TX_MSDU_EXTENSION_3_IP_IDENTIFICATION_MASK 0x0000ffff
  279. /* Description TX_MSDU_EXTENSION_3_UDP_LENGTH
  280. TXDMA is copies this field into MSDU START TLV
  281. */
  282. #define TX_MSDU_EXTENSION_3_UDP_LENGTH_OFFSET 0x0000000c
  283. #define TX_MSDU_EXTENSION_3_UDP_LENGTH_LSB 16
  284. #define TX_MSDU_EXTENSION_3_UDP_LENGTH_MASK 0xffff0000
  285. /* Description TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET
  286. The calculated checksum from start offset to end offset
  287. will be added to the checksum at the offset given by this
  288. field<legal all>
  289. */
  290. #define TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET_OFFSET 0x00000010
  291. #define TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET_LSB 0
  292. #define TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET_MASK 0x00003fff
  293. /* Description TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN
  294. Partial Checksum Enable Bit.
  295. <legal 0-1>
  296. */
  297. #define TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN_OFFSET 0x00000010
  298. #define TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN_LSB 14
  299. #define TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN_MASK 0x00004000
  300. /* Description TX_MSDU_EXTENSION_4_RESERVED_4A
  301. <Legal 0>
  302. */
  303. #define TX_MSDU_EXTENSION_4_RESERVED_4A_OFFSET 0x00000010
  304. #define TX_MSDU_EXTENSION_4_RESERVED_4A_LSB 15
  305. #define TX_MSDU_EXTENSION_4_RESERVED_4A_MASK 0x00008000
  306. /* Description TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET
  307. L4 checksum calculations will start fromt this offset
  308. <Legal all>
  309. */
  310. #define TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET_OFFSET 0x00000010
  311. #define TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET_LSB 16
  312. #define TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET_MASK 0x3fff0000
  313. /* Description TX_MSDU_EXTENSION_4_RESERVED_4B
  314. <Legal 0>
  315. */
  316. #define TX_MSDU_EXTENSION_4_RESERVED_4B_OFFSET 0x00000010
  317. #define TX_MSDU_EXTENSION_4_RESERVED_4B_LSB 30
  318. #define TX_MSDU_EXTENSION_4_RESERVED_4B_MASK 0xc0000000
  319. /* Description TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET
  320. L4 checksum calculations will end at this offset.
  321. <Legal all>
  322. */
  323. #define TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET_OFFSET 0x00000014
  324. #define TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET_LSB 0
  325. #define TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET_MASK 0x00003fff
  326. /* Description TX_MSDU_EXTENSION_5_RESERVED_5A
  327. <Legal 0>
  328. */
  329. #define TX_MSDU_EXTENSION_5_RESERVED_5A_OFFSET 0x00000014
  330. #define TX_MSDU_EXTENSION_5_RESERVED_5A_LSB 14
  331. #define TX_MSDU_EXTENSION_5_RESERVED_5A_MASK 0x0000c000
  332. /* Description TX_MSDU_EXTENSION_5_WDS
  333. If set the current packet is 4-address frame. Required
  334. because an aggregate can include some frames with 3 address
  335. format and other frames with 4 address format. Used by the
  336. OLE during encapsulation.
  337. Note: there is also global wds tx control in the
  338. TX_PEER_ENTRY
  339. <legal all>
  340. */
  341. #define TX_MSDU_EXTENSION_5_WDS_OFFSET 0x00000014
  342. #define TX_MSDU_EXTENSION_5_WDS_LSB 16
  343. #define TX_MSDU_EXTENSION_5_WDS_MASK 0x00010000
  344. /* Description TX_MSDU_EXTENSION_5_RESERVED_5B
  345. <Legal 0>
  346. */
  347. #define TX_MSDU_EXTENSION_5_RESERVED_5B_OFFSET 0x00000014
  348. #define TX_MSDU_EXTENSION_5_RESERVED_5B_LSB 17
  349. #define TX_MSDU_EXTENSION_5_RESERVED_5B_MASK 0xfffe0000
  350. /* Description TX_MSDU_EXTENSION_6_BUF0_PTR_31_0
  351. Lower 32 bits of the first buffer pointer
  352. NOTE: SW/FW manages the 'cookie' info related to this
  353. buffer together with the 'cookie' info for this
  354. MSDU_EXTENSION descriptor
  355. <legal all>
  356. */
  357. #define TX_MSDU_EXTENSION_6_BUF0_PTR_31_0_OFFSET 0x00000018
  358. #define TX_MSDU_EXTENSION_6_BUF0_PTR_31_0_LSB 0
  359. #define TX_MSDU_EXTENSION_6_BUF0_PTR_31_0_MASK 0xffffffff
  360. /* Description TX_MSDU_EXTENSION_7_BUF0_PTR_39_32
  361. Upper 8 bits of the first buffer pointer <legal all>
  362. */
  363. #define TX_MSDU_EXTENSION_7_BUF0_PTR_39_32_OFFSET 0x0000001c
  364. #define TX_MSDU_EXTENSION_7_BUF0_PTR_39_32_LSB 0
  365. #define TX_MSDU_EXTENSION_7_BUF0_PTR_39_32_MASK 0x000000ff
  366. /* Description TX_MSDU_EXTENSION_7_RESERVED_7A
  367. <Legal 0>
  368. */
  369. #define TX_MSDU_EXTENSION_7_RESERVED_7A_OFFSET 0x0000001c
  370. #define TX_MSDU_EXTENSION_7_RESERVED_7A_LSB 8
  371. #define TX_MSDU_EXTENSION_7_RESERVED_7A_MASK 0x0000ff00
  372. /* Description TX_MSDU_EXTENSION_7_BUF0_LEN
  373. Length of the first buffer <legal all>
  374. */
  375. #define TX_MSDU_EXTENSION_7_BUF0_LEN_OFFSET 0x0000001c
  376. #define TX_MSDU_EXTENSION_7_BUF0_LEN_LSB 16
  377. #define TX_MSDU_EXTENSION_7_BUF0_LEN_MASK 0xffff0000
  378. /* Description TX_MSDU_EXTENSION_8_BUF1_PTR_31_0
  379. Lower 32 bits of the second buffer pointer
  380. NOTE: SW/FW manages the 'cookie' info related to this
  381. buffer together with the 'cookie' info for this
  382. MSDU_EXTENSION descriptor
  383. <legal all>
  384. */
  385. #define TX_MSDU_EXTENSION_8_BUF1_PTR_31_0_OFFSET 0x00000020
  386. #define TX_MSDU_EXTENSION_8_BUF1_PTR_31_0_LSB 0
  387. #define TX_MSDU_EXTENSION_8_BUF1_PTR_31_0_MASK 0xffffffff
  388. /* Description TX_MSDU_EXTENSION_9_BUF1_PTR_39_32
  389. Upper 8 bits of the second buffer pointer <legal all>
  390. */
  391. #define TX_MSDU_EXTENSION_9_BUF1_PTR_39_32_OFFSET 0x00000024
  392. #define TX_MSDU_EXTENSION_9_BUF1_PTR_39_32_LSB 0
  393. #define TX_MSDU_EXTENSION_9_BUF1_PTR_39_32_MASK 0x000000ff
  394. /* Description TX_MSDU_EXTENSION_9_RESERVED_9A
  395. <Legal 0>
  396. */
  397. #define TX_MSDU_EXTENSION_9_RESERVED_9A_OFFSET 0x00000024
  398. #define TX_MSDU_EXTENSION_9_RESERVED_9A_LSB 8
  399. #define TX_MSDU_EXTENSION_9_RESERVED_9A_MASK 0x0000ff00
  400. /* Description TX_MSDU_EXTENSION_9_BUF1_LEN
  401. Length of the second buffer <legal all>
  402. */
  403. #define TX_MSDU_EXTENSION_9_BUF1_LEN_OFFSET 0x00000024
  404. #define TX_MSDU_EXTENSION_9_BUF1_LEN_LSB 16
  405. #define TX_MSDU_EXTENSION_9_BUF1_LEN_MASK 0xffff0000
  406. /* Description TX_MSDU_EXTENSION_10_BUF2_PTR_31_0
  407. Lower 32 bits of the third buffer pointer
  408. NOTE: SW/FW manages the 'cookie' info related to this
  409. buffer together with the 'cookie' info for this
  410. MSDU_EXTENSION descriptor
  411. <legal all>
  412. */
  413. #define TX_MSDU_EXTENSION_10_BUF2_PTR_31_0_OFFSET 0x00000028
  414. #define TX_MSDU_EXTENSION_10_BUF2_PTR_31_0_LSB 0
  415. #define TX_MSDU_EXTENSION_10_BUF2_PTR_31_0_MASK 0xffffffff
  416. /* Description TX_MSDU_EXTENSION_11_BUF2_PTR_39_32
  417. Upper 8 bits of the third buffer pointer <legal all>
  418. */
  419. #define TX_MSDU_EXTENSION_11_BUF2_PTR_39_32_OFFSET 0x0000002c
  420. #define TX_MSDU_EXTENSION_11_BUF2_PTR_39_32_LSB 0
  421. #define TX_MSDU_EXTENSION_11_BUF2_PTR_39_32_MASK 0x000000ff
  422. /* Description TX_MSDU_EXTENSION_11_RESERVED_11A
  423. <Legal 0>
  424. */
  425. #define TX_MSDU_EXTENSION_11_RESERVED_11A_OFFSET 0x0000002c
  426. #define TX_MSDU_EXTENSION_11_RESERVED_11A_LSB 8
  427. #define TX_MSDU_EXTENSION_11_RESERVED_11A_MASK 0x0000ff00
  428. /* Description TX_MSDU_EXTENSION_11_BUF2_LEN
  429. Length of the third buffer <legal all>
  430. */
  431. #define TX_MSDU_EXTENSION_11_BUF2_LEN_OFFSET 0x0000002c
  432. #define TX_MSDU_EXTENSION_11_BUF2_LEN_LSB 16
  433. #define TX_MSDU_EXTENSION_11_BUF2_LEN_MASK 0xffff0000
  434. /* Description TX_MSDU_EXTENSION_12_BUF3_PTR_31_0
  435. Lower 32 bits of the fourth buffer pointer
  436. NOTE: SW/FW manages the 'cookie' info related to this
  437. buffer together with the 'cookie' info for this
  438. MSDU_EXTENSION descriptor
  439. <legal all>
  440. */
  441. #define TX_MSDU_EXTENSION_12_BUF3_PTR_31_0_OFFSET 0x00000030
  442. #define TX_MSDU_EXTENSION_12_BUF3_PTR_31_0_LSB 0
  443. #define TX_MSDU_EXTENSION_12_BUF3_PTR_31_0_MASK 0xffffffff
  444. /* Description TX_MSDU_EXTENSION_13_BUF3_PTR_39_32
  445. Upper 8 bits of the fourth buffer pointer <legal all>
  446. */
  447. #define TX_MSDU_EXTENSION_13_BUF3_PTR_39_32_OFFSET 0x00000034
  448. #define TX_MSDU_EXTENSION_13_BUF3_PTR_39_32_LSB 0
  449. #define TX_MSDU_EXTENSION_13_BUF3_PTR_39_32_MASK 0x000000ff
  450. /* Description TX_MSDU_EXTENSION_13_RESERVED_13A
  451. <Legal 0>
  452. */
  453. #define TX_MSDU_EXTENSION_13_RESERVED_13A_OFFSET 0x00000034
  454. #define TX_MSDU_EXTENSION_13_RESERVED_13A_LSB 8
  455. #define TX_MSDU_EXTENSION_13_RESERVED_13A_MASK 0x0000ff00
  456. /* Description TX_MSDU_EXTENSION_13_BUF3_LEN
  457. Length of the fourth buffer <legal all>
  458. */
  459. #define TX_MSDU_EXTENSION_13_BUF3_LEN_OFFSET 0x00000034
  460. #define TX_MSDU_EXTENSION_13_BUF3_LEN_LSB 16
  461. #define TX_MSDU_EXTENSION_13_BUF3_LEN_MASK 0xffff0000
  462. /* Description TX_MSDU_EXTENSION_14_BUF4_PTR_31_0
  463. Lower 32 bits of the fifth buffer pointer
  464. NOTE: SW/FW manages the 'cookie' info related to this
  465. buffer together with the 'cookie' info for this
  466. MSDU_EXTENSION descriptor
  467. <legal all>
  468. */
  469. #define TX_MSDU_EXTENSION_14_BUF4_PTR_31_0_OFFSET 0x00000038
  470. #define TX_MSDU_EXTENSION_14_BUF4_PTR_31_0_LSB 0
  471. #define TX_MSDU_EXTENSION_14_BUF4_PTR_31_0_MASK 0xffffffff
  472. /* Description TX_MSDU_EXTENSION_15_BUF4_PTR_39_32
  473. Upper 8 bits of the fifth buffer pointer <legal all>
  474. */
  475. #define TX_MSDU_EXTENSION_15_BUF4_PTR_39_32_OFFSET 0x0000003c
  476. #define TX_MSDU_EXTENSION_15_BUF4_PTR_39_32_LSB 0
  477. #define TX_MSDU_EXTENSION_15_BUF4_PTR_39_32_MASK 0x000000ff
  478. /* Description TX_MSDU_EXTENSION_15_RESERVED_15A
  479. <Legal 0>
  480. */
  481. #define TX_MSDU_EXTENSION_15_RESERVED_15A_OFFSET 0x0000003c
  482. #define TX_MSDU_EXTENSION_15_RESERVED_15A_LSB 8
  483. #define TX_MSDU_EXTENSION_15_RESERVED_15A_MASK 0x0000ff00
  484. /* Description TX_MSDU_EXTENSION_15_BUF4_LEN
  485. Length of the fifth buffer <legal all>
  486. */
  487. #define TX_MSDU_EXTENSION_15_BUF4_LEN_OFFSET 0x0000003c
  488. #define TX_MSDU_EXTENSION_15_BUF4_LEN_LSB 16
  489. #define TX_MSDU_EXTENSION_15_BUF4_LEN_MASK 0xffff0000
  490. /* Description TX_MSDU_EXTENSION_16_BUF5_PTR_31_0
  491. Lower 32 bits of the sixth buffer pointer
  492. NOTE: SW/FW manages the 'cookie' info related to this
  493. buffer together with the 'cookie' info for this
  494. MSDU_EXTENSION descriptor
  495. <legal all>
  496. */
  497. #define TX_MSDU_EXTENSION_16_BUF5_PTR_31_0_OFFSET 0x00000040
  498. #define TX_MSDU_EXTENSION_16_BUF5_PTR_31_0_LSB 0
  499. #define TX_MSDU_EXTENSION_16_BUF5_PTR_31_0_MASK 0xffffffff
  500. /* Description TX_MSDU_EXTENSION_17_BUF5_PTR_39_32
  501. Upper 8 bits of the sixth buffer pointer <legal all>
  502. */
  503. #define TX_MSDU_EXTENSION_17_BUF5_PTR_39_32_OFFSET 0x00000044
  504. #define TX_MSDU_EXTENSION_17_BUF5_PTR_39_32_LSB 0
  505. #define TX_MSDU_EXTENSION_17_BUF5_PTR_39_32_MASK 0x000000ff
  506. /* Description TX_MSDU_EXTENSION_17_RESERVED_17A
  507. <Legal 0>
  508. */
  509. #define TX_MSDU_EXTENSION_17_RESERVED_17A_OFFSET 0x00000044
  510. #define TX_MSDU_EXTENSION_17_RESERVED_17A_LSB 8
  511. #define TX_MSDU_EXTENSION_17_RESERVED_17A_MASK 0x0000ff00
  512. /* Description TX_MSDU_EXTENSION_17_BUF5_LEN
  513. Length of the sixth buffer <legal all>
  514. */
  515. #define TX_MSDU_EXTENSION_17_BUF5_LEN_OFFSET 0x00000044
  516. #define TX_MSDU_EXTENSION_17_BUF5_LEN_LSB 16
  517. #define TX_MSDU_EXTENSION_17_BUF5_LEN_MASK 0xffff0000
  518. #endif // _TX_MSDU_EXTENSION_H_