reo_update_rx_reo_queue.h 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056
  1. /*
  2. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. #ifndef _REO_UPDATE_RX_REO_QUEUE_H_
  17. #define _REO_UPDATE_RX_REO_QUEUE_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #include "uniform_reo_cmd_header.h"
  21. #define NUM_OF_DWORDS_REO_UPDATE_RX_REO_QUEUE 10
  22. #define NUM_OF_QWORDS_REO_UPDATE_RX_REO_QUEUE 5
  23. struct reo_update_rx_reo_queue {
  24. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  25. struct uniform_reo_cmd_header cmd_header;
  26. uint32_t rx_reo_queue_desc_addr_31_0 : 32; // [31:0]
  27. uint32_t rx_reo_queue_desc_addr_39_32 : 8, // [7:0]
  28. update_receive_queue_number : 1, // [8:8]
  29. update_vld : 1, // [9:9]
  30. update_associated_link_descriptor_counter : 1, // [10:10]
  31. update_disable_duplicate_detection : 1, // [11:11]
  32. update_soft_reorder_enable : 1, // [12:12]
  33. update_ac : 1, // [13:13]
  34. update_bar : 1, // [14:14]
  35. update_rty : 1, // [15:15]
  36. update_chk_2k_mode : 1, // [16:16]
  37. update_oor_mode : 1, // [17:17]
  38. update_ba_window_size : 1, // [18:18]
  39. update_pn_check_needed : 1, // [19:19]
  40. update_pn_shall_be_even : 1, // [20:20]
  41. update_pn_shall_be_uneven : 1, // [21:21]
  42. update_pn_handling_enable : 1, // [22:22]
  43. update_pn_size : 1, // [23:23]
  44. update_ignore_ampdu_flag : 1, // [24:24]
  45. update_svld : 1, // [25:25]
  46. update_ssn : 1, // [26:26]
  47. update_seq_2k_error_detected_flag : 1, // [27:27]
  48. update_pn_error_detected_flag : 1, // [28:28]
  49. update_pn_valid : 1, // [29:29]
  50. update_pn : 1, // [30:30]
  51. clear_stat_counters : 1; // [31:31]
  52. uint32_t receive_queue_number : 16, // [15:0]
  53. vld : 1, // [16:16]
  54. associated_link_descriptor_counter : 2, // [18:17]
  55. disable_duplicate_detection : 1, // [19:19]
  56. soft_reorder_enable : 1, // [20:20]
  57. ac : 2, // [22:21]
  58. bar : 1, // [23:23]
  59. rty : 1, // [24:24]
  60. chk_2k_mode : 1, // [25:25]
  61. oor_mode : 1, // [26:26]
  62. pn_check_needed : 1, // [27:27]
  63. pn_shall_be_even : 1, // [28:28]
  64. pn_shall_be_uneven : 1, // [29:29]
  65. pn_handling_enable : 1, // [30:30]
  66. ignore_ampdu_flag : 1; // [31:31]
  67. uint32_t ba_window_size : 10, // [9:0]
  68. pn_size : 2, // [11:10]
  69. svld : 1, // [12:12]
  70. ssn : 12, // [24:13]
  71. seq_2k_error_detected_flag : 1, // [25:25]
  72. pn_error_detected_flag : 1, // [26:26]
  73. pn_valid : 1, // [27:27]
  74. flush_from_cache : 1, // [28:28]
  75. reserved_4a : 3; // [31:29]
  76. uint32_t pn_31_0 : 32; // [31:0]
  77. uint32_t pn_63_32 : 32; // [31:0]
  78. uint32_t pn_95_64 : 32; // [31:0]
  79. uint32_t pn_127_96 : 32; // [31:0]
  80. uint32_t tlv64_padding : 32; // [31:0]
  81. #else
  82. struct uniform_reo_cmd_header cmd_header;
  83. uint32_t rx_reo_queue_desc_addr_31_0 : 32; // [31:0]
  84. uint32_t clear_stat_counters : 1, // [31:31]
  85. update_pn : 1, // [30:30]
  86. update_pn_valid : 1, // [29:29]
  87. update_pn_error_detected_flag : 1, // [28:28]
  88. update_seq_2k_error_detected_flag : 1, // [27:27]
  89. update_ssn : 1, // [26:26]
  90. update_svld : 1, // [25:25]
  91. update_ignore_ampdu_flag : 1, // [24:24]
  92. update_pn_size : 1, // [23:23]
  93. update_pn_handling_enable : 1, // [22:22]
  94. update_pn_shall_be_uneven : 1, // [21:21]
  95. update_pn_shall_be_even : 1, // [20:20]
  96. update_pn_check_needed : 1, // [19:19]
  97. update_ba_window_size : 1, // [18:18]
  98. update_oor_mode : 1, // [17:17]
  99. update_chk_2k_mode : 1, // [16:16]
  100. update_rty : 1, // [15:15]
  101. update_bar : 1, // [14:14]
  102. update_ac : 1, // [13:13]
  103. update_soft_reorder_enable : 1, // [12:12]
  104. update_disable_duplicate_detection : 1, // [11:11]
  105. update_associated_link_descriptor_counter : 1, // [10:10]
  106. update_vld : 1, // [9:9]
  107. update_receive_queue_number : 1, // [8:8]
  108. rx_reo_queue_desc_addr_39_32 : 8; // [7:0]
  109. uint32_t ignore_ampdu_flag : 1, // [31:31]
  110. pn_handling_enable : 1, // [30:30]
  111. pn_shall_be_uneven : 1, // [29:29]
  112. pn_shall_be_even : 1, // [28:28]
  113. pn_check_needed : 1, // [27:27]
  114. oor_mode : 1, // [26:26]
  115. chk_2k_mode : 1, // [25:25]
  116. rty : 1, // [24:24]
  117. bar : 1, // [23:23]
  118. ac : 2, // [22:21]
  119. soft_reorder_enable : 1, // [20:20]
  120. disable_duplicate_detection : 1, // [19:19]
  121. associated_link_descriptor_counter : 2, // [18:17]
  122. vld : 1, // [16:16]
  123. receive_queue_number : 16; // [15:0]
  124. uint32_t reserved_4a : 3, // [31:29]
  125. flush_from_cache : 1, // [28:28]
  126. pn_valid : 1, // [27:27]
  127. pn_error_detected_flag : 1, // [26:26]
  128. seq_2k_error_detected_flag : 1, // [25:25]
  129. ssn : 12, // [24:13]
  130. svld : 1, // [12:12]
  131. pn_size : 2, // [11:10]
  132. ba_window_size : 10; // [9:0]
  133. uint32_t pn_31_0 : 32; // [31:0]
  134. uint32_t pn_63_32 : 32; // [31:0]
  135. uint32_t pn_95_64 : 32; // [31:0]
  136. uint32_t pn_127_96 : 32; // [31:0]
  137. uint32_t tlv64_padding : 32; // [31:0]
  138. #endif
  139. };
  140. /* Description CMD_HEADER
  141. Consumer: REO
  142. Producer: SW
  143. Details for command execution tracking purposes.
  144. */
  145. /* Description REO_CMD_NUMBER
  146. Consumer: REO/SW/DEBUG
  147. Producer: SW
  148. This number can be used by SW to track, identify and link
  149. the created commands with the command statusses
  150. <legal all>
  151. */
  152. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_CMD_NUMBER_OFFSET 0x0000000000000000
  153. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_CMD_NUMBER_LSB 0
  154. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_CMD_NUMBER_MSB 15
  155. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_CMD_NUMBER_MASK 0x000000000000ffff
  156. /* Description REO_STATUS_REQUIRED
  157. Consumer: REO
  158. Producer: SW
  159. <enum 0 NoStatus> REO does not need to generate a status
  160. TLV for the execution of this command
  161. <enum 1 StatusRequired> REO shall generate a status TLV
  162. for the execution of this command
  163. <legal all>
  164. */
  165. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_STATUS_REQUIRED_OFFSET 0x0000000000000000
  166. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_STATUS_REQUIRED_LSB 16
  167. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_STATUS_REQUIRED_MSB 16
  168. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_REO_STATUS_REQUIRED_MASK 0x0000000000010000
  169. /* Description RESERVED_0A
  170. <legal 0>
  171. */
  172. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_RESERVED_0A_OFFSET 0x0000000000000000
  173. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_RESERVED_0A_LSB 17
  174. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_RESERVED_0A_MSB 31
  175. #define REO_UPDATE_RX_REO_QUEUE_CMD_HEADER_RESERVED_0A_MASK 0x00000000fffe0000
  176. /* Description RX_REO_QUEUE_DESC_ADDR_31_0
  177. Consumer: REO
  178. Producer: SW
  179. Address (lower 32 bits) of the REO queue descriptor
  180. <legal all>
  181. */
  182. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_31_0_OFFSET 0x0000000000000000
  183. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_31_0_LSB 32
  184. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_31_0_MSB 63
  185. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_31_0_MASK 0xffffffff00000000
  186. /* Description RX_REO_QUEUE_DESC_ADDR_39_32
  187. Consumer: REO
  188. Producer: SW
  189. Address (upper 8 bits) of the REO queue descriptor
  190. <legal all>
  191. */
  192. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_39_32_OFFSET 0x0000000000000008
  193. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_39_32_LSB 0
  194. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_39_32_MSB 7
  195. #define REO_UPDATE_RX_REO_QUEUE_RX_REO_QUEUE_DESC_ADDR_39_32_MASK 0x00000000000000ff
  196. /* Description UPDATE_RECEIVE_QUEUE_NUMBER
  197. Consumer: REO
  198. Producer: SW
  199. When set, receive_queue_number from this command will be
  200. updated in the descriptor.
  201. <legal all>
  202. */
  203. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RECEIVE_QUEUE_NUMBER_OFFSET 0x0000000000000008
  204. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RECEIVE_QUEUE_NUMBER_LSB 8
  205. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RECEIVE_QUEUE_NUMBER_MSB 8
  206. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RECEIVE_QUEUE_NUMBER_MASK 0x0000000000000100
  207. /* Description UPDATE_VLD
  208. Consumer: REO
  209. Producer: SW
  210. When clear, REO will NOT update the VLD bit setting. For
  211. this setting, SW MUST set the Flush_from_cache bit in this
  212. command.
  213. When set, VLD from this command will be updated in the descriptor.
  214. <legal all>
  215. */
  216. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_VLD_OFFSET 0x0000000000000008
  217. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_VLD_LSB 9
  218. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_VLD_MSB 9
  219. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_VLD_MASK 0x0000000000000200
  220. /* Description UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER
  221. Consumer: REO
  222. Producer: SW
  223. When set, Associated_link_descriptor_counter from this command
  224. will be updated in the descriptor.
  225. <legal all>
  226. */
  227. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x0000000000000008
  228. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 10
  229. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MSB 10
  230. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x0000000000000400
  231. /* Description UPDATE_DISABLE_DUPLICATE_DETECTION
  232. Consumer: REO
  233. Producer: SW
  234. When set, Disable_duplicate_detection from this command
  235. will be updated in the descriptor.
  236. <legal all>
  237. */
  238. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_DISABLE_DUPLICATE_DETECTION_OFFSET 0x0000000000000008
  239. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_DISABLE_DUPLICATE_DETECTION_LSB 11
  240. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_DISABLE_DUPLICATE_DETECTION_MSB 11
  241. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_DISABLE_DUPLICATE_DETECTION_MASK 0x0000000000000800
  242. /* Description UPDATE_SOFT_REORDER_ENABLE
  243. Consumer: REO
  244. Producer: SW
  245. When set, Soft_reorder_enable from this command will be
  246. updated in the descriptor.
  247. <legal all>
  248. */
  249. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SOFT_REORDER_ENABLE_OFFSET 0x0000000000000008
  250. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SOFT_REORDER_ENABLE_LSB 12
  251. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SOFT_REORDER_ENABLE_MSB 12
  252. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SOFT_REORDER_ENABLE_MASK 0x0000000000001000
  253. /* Description UPDATE_AC
  254. Consumer: REO
  255. Producer: SW
  256. When set, AC from this command will be updated in the descriptor.
  257. <legal all>
  258. */
  259. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_AC_OFFSET 0x0000000000000008
  260. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_AC_LSB 13
  261. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_AC_MSB 13
  262. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_AC_MASK 0x0000000000002000
  263. /* Description UPDATE_BAR
  264. Consumer: REO
  265. Producer: SW
  266. When set, BAR from this command will be updated in the descriptor.
  267. <legal all>
  268. */
  269. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BAR_OFFSET 0x0000000000000008
  270. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BAR_LSB 14
  271. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BAR_MSB 14
  272. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BAR_MASK 0x0000000000004000
  273. /* Description UPDATE_RTY
  274. Consumer: REO
  275. Producer: SW
  276. When set, RTY from this command will be updated in the descriptor.
  277. <legal all>
  278. */
  279. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RTY_OFFSET 0x0000000000000008
  280. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RTY_LSB 15
  281. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RTY_MSB 15
  282. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_RTY_MASK 0x0000000000008000
  283. /* Description UPDATE_CHK_2K_MODE
  284. Consumer: REO
  285. Producer: SW
  286. When set, Chk_2k_mode from this command will be updated
  287. in the descriptor.
  288. <legal all>
  289. */
  290. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_CHK_2K_MODE_OFFSET 0x0000000000000008
  291. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_CHK_2K_MODE_LSB 16
  292. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_CHK_2K_MODE_MSB 16
  293. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_CHK_2K_MODE_MASK 0x0000000000010000
  294. /* Description UPDATE_OOR_MODE
  295. Consumer: REO
  296. Producer: SW
  297. When set, OOR_Mode from this command will be updated in
  298. the descriptor.
  299. <legal all>
  300. */
  301. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_OOR_MODE_OFFSET 0x0000000000000008
  302. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_OOR_MODE_LSB 17
  303. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_OOR_MODE_MSB 17
  304. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_OOR_MODE_MASK 0x0000000000020000
  305. /* Description UPDATE_BA_WINDOW_SIZE
  306. Consumer: REO
  307. Producer: SW
  308. When set, BA_window_size from this command will be updated
  309. in the descriptor.
  310. <legal all>
  311. */
  312. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BA_WINDOW_SIZE_OFFSET 0x0000000000000008
  313. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BA_WINDOW_SIZE_LSB 18
  314. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BA_WINDOW_SIZE_MSB 18
  315. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_BA_WINDOW_SIZE_MASK 0x0000000000040000
  316. /* Description UPDATE_PN_CHECK_NEEDED
  317. Consumer: REO
  318. Producer: SW
  319. When set, Pn_check_needed from this command will be updated
  320. in the descriptor.
  321. <legal all>
  322. */
  323. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_CHECK_NEEDED_OFFSET 0x0000000000000008
  324. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_CHECK_NEEDED_LSB 19
  325. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_CHECK_NEEDED_MSB 19
  326. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_CHECK_NEEDED_MASK 0x0000000000080000
  327. /* Description UPDATE_PN_SHALL_BE_EVEN
  328. Consumer: REO
  329. Producer: SW
  330. When set, Pn_shall_be_even from this command will be updated
  331. in the descriptor.
  332. <legal all>
  333. */
  334. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_EVEN_OFFSET 0x0000000000000008
  335. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_EVEN_LSB 20
  336. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_EVEN_MSB 20
  337. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_EVEN_MASK 0x0000000000100000
  338. /* Description UPDATE_PN_SHALL_BE_UNEVEN
  339. Consumer: REO
  340. Producer: SW
  341. When set, Pn_shall_be_uneven from this command will be updated
  342. in the descriptor.
  343. <legal all>
  344. */
  345. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_UNEVEN_OFFSET 0x0000000000000008
  346. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_UNEVEN_LSB 21
  347. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_UNEVEN_MSB 21
  348. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SHALL_BE_UNEVEN_MASK 0x0000000000200000
  349. /* Description UPDATE_PN_HANDLING_ENABLE
  350. Consumer: REO
  351. Producer: SW
  352. When set, Pn_handling_enable from this command will be updated
  353. in the descriptor.
  354. <legal all>
  355. */
  356. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_HANDLING_ENABLE_OFFSET 0x0000000000000008
  357. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_HANDLING_ENABLE_LSB 22
  358. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_HANDLING_ENABLE_MSB 22
  359. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_HANDLING_ENABLE_MASK 0x0000000000400000
  360. /* Description UPDATE_PN_SIZE
  361. Consumer: REO
  362. Producer: SW
  363. When set, Pn_size from this command will be updated in the
  364. descriptor.
  365. <legal all>
  366. */
  367. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SIZE_OFFSET 0x0000000000000008
  368. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SIZE_LSB 23
  369. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SIZE_MSB 23
  370. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_SIZE_MASK 0x0000000000800000
  371. /* Description UPDATE_IGNORE_AMPDU_FLAG
  372. Consumer: REO
  373. Producer: SW
  374. When set, Ignore_ampdu_flag from this command will be updated
  375. in the descriptor.
  376. <legal all>
  377. */
  378. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_IGNORE_AMPDU_FLAG_OFFSET 0x0000000000000008
  379. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_IGNORE_AMPDU_FLAG_LSB 24
  380. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_IGNORE_AMPDU_FLAG_MSB 24
  381. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_IGNORE_AMPDU_FLAG_MASK 0x0000000001000000
  382. /* Description UPDATE_SVLD
  383. Consumer: REO
  384. Producer: SW
  385. When set, Svld from this command will be updated in the
  386. descriptor.
  387. <legal all>
  388. */
  389. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SVLD_OFFSET 0x0000000000000008
  390. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SVLD_LSB 25
  391. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SVLD_MSB 25
  392. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SVLD_MASK 0x0000000002000000
  393. /* Description UPDATE_SSN
  394. Consumer: REO
  395. Producer: SW
  396. When set, SSN from this command will be updated in the descriptor.
  397. <legal all>
  398. */
  399. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SSN_OFFSET 0x0000000000000008
  400. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SSN_LSB 26
  401. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SSN_MSB 26
  402. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SSN_MASK 0x0000000004000000
  403. /* Description UPDATE_SEQ_2K_ERROR_DETECTED_FLAG
  404. Consumer: REO
  405. Producer: SW
  406. When set, Seq_2k_error_detected_flag from this command will
  407. be updated in the descriptor.
  408. <legal all>
  409. */
  410. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET 0x0000000000000008
  411. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_LSB 27
  412. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_MSB 27
  413. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_MASK 0x0000000008000000
  414. /* Description UPDATE_PN_ERROR_DETECTED_FLAG
  415. Consumer: REO
  416. Producer: SW
  417. When set, pn_error_detected_flag from this command will
  418. be updated in the descriptor.
  419. <legal all>
  420. */
  421. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_ERROR_DETECTED_FLAG_OFFSET 0x0000000000000008
  422. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_ERROR_DETECTED_FLAG_LSB 28
  423. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_ERROR_DETECTED_FLAG_MSB 28
  424. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_ERROR_DETECTED_FLAG_MASK 0x0000000010000000
  425. /* Description UPDATE_PN_VALID
  426. Consumer: REO
  427. Producer: SW
  428. When set, pn_valid from this command will be updated in
  429. the descriptor.
  430. <legal all>
  431. */
  432. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_VALID_OFFSET 0x0000000000000008
  433. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_VALID_LSB 29
  434. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_VALID_MSB 29
  435. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_VALID_MASK 0x0000000020000000
  436. /* Description UPDATE_PN
  437. Consumer: REO
  438. Producer: SW
  439. When set, all pn_... fields from this command will be updated
  440. in the descriptor.
  441. <legal all>
  442. */
  443. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_OFFSET 0x0000000000000008
  444. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_LSB 30
  445. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_MSB 30
  446. #define REO_UPDATE_RX_REO_QUEUE_UPDATE_PN_MASK 0x0000000040000000
  447. /* Description CLEAR_STAT_COUNTERS
  448. Consumer: REO
  449. Producer: SW
  450. When set, REO will clear (=> set to 0) the following stat
  451. counters in the REO_QUEUE_STRUCT
  452. Last_rx_enqueue_TimeStamp
  453. Last_rx_dequeue_Timestamp
  454. Rx_bitmap (not a counter, but bitmap is cleared)
  455. Timeout_count
  456. Forward_due_to_bar_count
  457. Duplicate_count
  458. Frames_in_order_count
  459. BAR_received_count
  460. MPDU_Frames_processed_count
  461. MSDU_Frames_processed_count
  462. Total_processed_byte_count
  463. Late_receive_MPDU_count
  464. window_jump_2k
  465. Hole_count
  466. <legal all>
  467. */
  468. #define REO_UPDATE_RX_REO_QUEUE_CLEAR_STAT_COUNTERS_OFFSET 0x0000000000000008
  469. #define REO_UPDATE_RX_REO_QUEUE_CLEAR_STAT_COUNTERS_LSB 31
  470. #define REO_UPDATE_RX_REO_QUEUE_CLEAR_STAT_COUNTERS_MSB 31
  471. #define REO_UPDATE_RX_REO_QUEUE_CLEAR_STAT_COUNTERS_MASK 0x0000000080000000
  472. /* Description RECEIVE_QUEUE_NUMBER
  473. Field only valid when Update_receive_queue_number is set
  474. Field value to be copied over into the RX_REO_QUEUE descriptor.
  475. <legal all>
  476. */
  477. #define REO_UPDATE_RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_OFFSET 0x0000000000000008
  478. #define REO_UPDATE_RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_LSB 32
  479. #define REO_UPDATE_RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_MSB 47
  480. #define REO_UPDATE_RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_MASK 0x0000ffff00000000
  481. /* Description VLD
  482. Field only valid when Update_VLD is set
  483. For Update_VLD set and VLD clear, SW MUST set the Flush_from_cache
  484. bit in this command.
  485. Field value to be copied over into the RX_REO_QUEUE descriptor.
  486. <legal all>
  487. */
  488. #define REO_UPDATE_RX_REO_QUEUE_VLD_OFFSET 0x0000000000000008
  489. #define REO_UPDATE_RX_REO_QUEUE_VLD_LSB 48
  490. #define REO_UPDATE_RX_REO_QUEUE_VLD_MSB 48
  491. #define REO_UPDATE_RX_REO_QUEUE_VLD_MASK 0x0001000000000000
  492. /* Description ASSOCIATED_LINK_DESCRIPTOR_COUNTER
  493. Field only valid when Update_Associated_link_descriptor_counter
  494. is set
  495. Field value to be copied over into the RX_REO_QUEUE descriptor.
  496. <legal all>
  497. */
  498. #define REO_UPDATE_RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x0000000000000008
  499. #define REO_UPDATE_RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 49
  500. #define REO_UPDATE_RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MSB 50
  501. #define REO_UPDATE_RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x0006000000000000
  502. /* Description DISABLE_DUPLICATE_DETECTION
  503. Field only valid when Update_Disable_duplicate_detection
  504. is set
  505. Field value to be copied over into the RX_REO_QUEUE descriptor.
  506. <legal all>
  507. */
  508. #define REO_UPDATE_RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_OFFSET 0x0000000000000008
  509. #define REO_UPDATE_RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_LSB 51
  510. #define REO_UPDATE_RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_MSB 51
  511. #define REO_UPDATE_RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_MASK 0x0008000000000000
  512. /* Description SOFT_REORDER_ENABLE
  513. Field only valid when Update_Soft_reorder_enable is set
  514. Field value to be copied over into the RX_REO_QUEUE descriptor.
  515. <legal all>
  516. */
  517. #define REO_UPDATE_RX_REO_QUEUE_SOFT_REORDER_ENABLE_OFFSET 0x0000000000000008
  518. #define REO_UPDATE_RX_REO_QUEUE_SOFT_REORDER_ENABLE_LSB 52
  519. #define REO_UPDATE_RX_REO_QUEUE_SOFT_REORDER_ENABLE_MSB 52
  520. #define REO_UPDATE_RX_REO_QUEUE_SOFT_REORDER_ENABLE_MASK 0x0010000000000000
  521. /* Description AC
  522. Field only valid when Update_AC is set
  523. Field value to be copied over into the RX_REO_QUEUE descriptor.
  524. <legal all>
  525. */
  526. #define REO_UPDATE_RX_REO_QUEUE_AC_OFFSET 0x0000000000000008
  527. #define REO_UPDATE_RX_REO_QUEUE_AC_LSB 53
  528. #define REO_UPDATE_RX_REO_QUEUE_AC_MSB 54
  529. #define REO_UPDATE_RX_REO_QUEUE_AC_MASK 0x0060000000000000
  530. /* Description BAR
  531. Field only valid when Update_BAR is set
  532. Field value to be copied over into the RX_REO_QUEUE descriptor.
  533. <legal all>
  534. */
  535. #define REO_UPDATE_RX_REO_QUEUE_BAR_OFFSET 0x0000000000000008
  536. #define REO_UPDATE_RX_REO_QUEUE_BAR_LSB 55
  537. #define REO_UPDATE_RX_REO_QUEUE_BAR_MSB 55
  538. #define REO_UPDATE_RX_REO_QUEUE_BAR_MASK 0x0080000000000000
  539. /* Description RTY
  540. Field only valid when Update_RTY is set
  541. Field value to be copied over into the RX_REO_QUEUE descriptor.
  542. <legal all>
  543. */
  544. #define REO_UPDATE_RX_REO_QUEUE_RTY_OFFSET 0x0000000000000008
  545. #define REO_UPDATE_RX_REO_QUEUE_RTY_LSB 56
  546. #define REO_UPDATE_RX_REO_QUEUE_RTY_MSB 56
  547. #define REO_UPDATE_RX_REO_QUEUE_RTY_MASK 0x0100000000000000
  548. /* Description CHK_2K_MODE
  549. Field only valid when Update_Chk_2k_Mode is set
  550. Field value to be copied over into the RX_REO_QUEUE descriptor.
  551. <legal all>
  552. */
  553. #define REO_UPDATE_RX_REO_QUEUE_CHK_2K_MODE_OFFSET 0x0000000000000008
  554. #define REO_UPDATE_RX_REO_QUEUE_CHK_2K_MODE_LSB 57
  555. #define REO_UPDATE_RX_REO_QUEUE_CHK_2K_MODE_MSB 57
  556. #define REO_UPDATE_RX_REO_QUEUE_CHK_2K_MODE_MASK 0x0200000000000000
  557. /* Description OOR_MODE
  558. Field only valid when Update_OOR_Mode is set
  559. Field value to be copied over into the RX_REO_QUEUE descriptor.
  560. <legal all>
  561. */
  562. #define REO_UPDATE_RX_REO_QUEUE_OOR_MODE_OFFSET 0x0000000000000008
  563. #define REO_UPDATE_RX_REO_QUEUE_OOR_MODE_LSB 58
  564. #define REO_UPDATE_RX_REO_QUEUE_OOR_MODE_MSB 58
  565. #define REO_UPDATE_RX_REO_QUEUE_OOR_MODE_MASK 0x0400000000000000
  566. /* Description PN_CHECK_NEEDED
  567. Field only valid when Update_Pn_check_needed is set
  568. Field value to be copied over into the RX_REO_QUEUE descriptor.
  569. <legal all>
  570. */
  571. #define REO_UPDATE_RX_REO_QUEUE_PN_CHECK_NEEDED_OFFSET 0x0000000000000008
  572. #define REO_UPDATE_RX_REO_QUEUE_PN_CHECK_NEEDED_LSB 59
  573. #define REO_UPDATE_RX_REO_QUEUE_PN_CHECK_NEEDED_MSB 59
  574. #define REO_UPDATE_RX_REO_QUEUE_PN_CHECK_NEEDED_MASK 0x0800000000000000
  575. /* Description PN_SHALL_BE_EVEN
  576. Field only valid when Update_Pn_shall_be_even is set
  577. Field value to be copied over into the RX_REO_QUEUE descriptor.
  578. <legal all>
  579. */
  580. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_EVEN_OFFSET 0x0000000000000008
  581. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_EVEN_LSB 60
  582. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_EVEN_MSB 60
  583. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_EVEN_MASK 0x1000000000000000
  584. /* Description PN_SHALL_BE_UNEVEN
  585. Field only valid when Update_Pn_shall_be_uneven is set
  586. Field value to be copied over into the RX_REO_QUEUE descriptor.
  587. <legal all>
  588. */
  589. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_OFFSET 0x0000000000000008
  590. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_LSB 61
  591. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_MSB 61
  592. #define REO_UPDATE_RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_MASK 0x2000000000000000
  593. /* Description PN_HANDLING_ENABLE
  594. Field only valid when Update_Pn_handling_enable is set
  595. Field value to be copied over into the RX_REO_QUEUE descriptor.
  596. <legal all>
  597. */
  598. #define REO_UPDATE_RX_REO_QUEUE_PN_HANDLING_ENABLE_OFFSET 0x0000000000000008
  599. #define REO_UPDATE_RX_REO_QUEUE_PN_HANDLING_ENABLE_LSB 62
  600. #define REO_UPDATE_RX_REO_QUEUE_PN_HANDLING_ENABLE_MSB 62
  601. #define REO_UPDATE_RX_REO_QUEUE_PN_HANDLING_ENABLE_MASK 0x4000000000000000
  602. /* Description IGNORE_AMPDU_FLAG
  603. Field only valid when Update_Ignore_ampdu_flag is set
  604. Field value to be copied over into the RX_REO_QUEUE descriptor.
  605. <legal all>
  606. */
  607. #define REO_UPDATE_RX_REO_QUEUE_IGNORE_AMPDU_FLAG_OFFSET 0x0000000000000008
  608. #define REO_UPDATE_RX_REO_QUEUE_IGNORE_AMPDU_FLAG_LSB 63
  609. #define REO_UPDATE_RX_REO_QUEUE_IGNORE_AMPDU_FLAG_MSB 63
  610. #define REO_UPDATE_RX_REO_QUEUE_IGNORE_AMPDU_FLAG_MASK 0x8000000000000000
  611. /* Description BA_WINDOW_SIZE
  612. Field only valid when Update_BA_window_size is set
  613. Field value to be copied over into the RX_REO_QUEUE descriptor.
  614. <legal all>
  615. */
  616. #define REO_UPDATE_RX_REO_QUEUE_BA_WINDOW_SIZE_OFFSET 0x0000000000000010
  617. #define REO_UPDATE_RX_REO_QUEUE_BA_WINDOW_SIZE_LSB 0
  618. #define REO_UPDATE_RX_REO_QUEUE_BA_WINDOW_SIZE_MSB 9
  619. #define REO_UPDATE_RX_REO_QUEUE_BA_WINDOW_SIZE_MASK 0x00000000000003ff
  620. /* Description PN_SIZE
  621. Field only valid when Update_Pn_size is set
  622. Field value to be copied over into the RX_REO_QUEUE descriptor.
  623. <enum 0 pn_size_24>
  624. <enum 1 pn_size_48>
  625. <enum 2 pn_size_128>
  626. <legal 0-2>
  627. */
  628. #define REO_UPDATE_RX_REO_QUEUE_PN_SIZE_OFFSET 0x0000000000000010
  629. #define REO_UPDATE_RX_REO_QUEUE_PN_SIZE_LSB 10
  630. #define REO_UPDATE_RX_REO_QUEUE_PN_SIZE_MSB 11
  631. #define REO_UPDATE_RX_REO_QUEUE_PN_SIZE_MASK 0x0000000000000c00
  632. /* Description SVLD
  633. Field only valid when Update_Svld is set
  634. Field value to be copied over into the RX_REO_QUEUE descriptor.
  635. <legal all>
  636. */
  637. #define REO_UPDATE_RX_REO_QUEUE_SVLD_OFFSET 0x0000000000000010
  638. #define REO_UPDATE_RX_REO_QUEUE_SVLD_LSB 12
  639. #define REO_UPDATE_RX_REO_QUEUE_SVLD_MSB 12
  640. #define REO_UPDATE_RX_REO_QUEUE_SVLD_MASK 0x0000000000001000
  641. /* Description SSN
  642. Field only valid when Update_SSN is set
  643. Field value to be copied over into the RX_REO_QUEUE descriptor.
  644. <legal all>
  645. */
  646. #define REO_UPDATE_RX_REO_QUEUE_SSN_OFFSET 0x0000000000000010
  647. #define REO_UPDATE_RX_REO_QUEUE_SSN_LSB 13
  648. #define REO_UPDATE_RX_REO_QUEUE_SSN_MSB 24
  649. #define REO_UPDATE_RX_REO_QUEUE_SSN_MASK 0x0000000001ffe000
  650. /* Description SEQ_2K_ERROR_DETECTED_FLAG
  651. Field only valid when Update_Seq_2k_error_detected_flag
  652. is set
  653. Field value to be copied over into the RX_REO_QUEUE descriptor.
  654. <legal all>
  655. */
  656. #define REO_UPDATE_RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET 0x0000000000000010
  657. #define REO_UPDATE_RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_LSB 25
  658. #define REO_UPDATE_RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_MSB 25
  659. #define REO_UPDATE_RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_MASK 0x0000000002000000
  660. /* Description PN_ERROR_DETECTED_FLAG
  661. Field only valid when Update_pn_error_detected_flag is set
  662. Field value to be copied over into the RX_REO_QUEUE descriptor.
  663. <legal all>
  664. */
  665. #define REO_UPDATE_RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_OFFSET 0x0000000000000010
  666. #define REO_UPDATE_RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_LSB 26
  667. #define REO_UPDATE_RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_MSB 26
  668. #define REO_UPDATE_RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_MASK 0x0000000004000000
  669. /* Description PN_VALID
  670. Field only valid when Update_pn_valid is set
  671. Field value to be copied over into the RX_REO_QUEUE descriptor.
  672. <legal all>
  673. */
  674. #define REO_UPDATE_RX_REO_QUEUE_PN_VALID_OFFSET 0x0000000000000010
  675. #define REO_UPDATE_RX_REO_QUEUE_PN_VALID_LSB 27
  676. #define REO_UPDATE_RX_REO_QUEUE_PN_VALID_MSB 27
  677. #define REO_UPDATE_RX_REO_QUEUE_PN_VALID_MASK 0x0000000008000000
  678. /* Description FLUSH_FROM_CACHE
  679. When set, REO shall, after finishing the execution of this
  680. command, flush the related descriptor from the cache.
  681. <legal all>
  682. */
  683. #define REO_UPDATE_RX_REO_QUEUE_FLUSH_FROM_CACHE_OFFSET 0x0000000000000010
  684. #define REO_UPDATE_RX_REO_QUEUE_FLUSH_FROM_CACHE_LSB 28
  685. #define REO_UPDATE_RX_REO_QUEUE_FLUSH_FROM_CACHE_MSB 28
  686. #define REO_UPDATE_RX_REO_QUEUE_FLUSH_FROM_CACHE_MASK 0x0000000010000000
  687. /* Description RESERVED_4A
  688. <legal 0>
  689. */
  690. #define REO_UPDATE_RX_REO_QUEUE_RESERVED_4A_OFFSET 0x0000000000000010
  691. #define REO_UPDATE_RX_REO_QUEUE_RESERVED_4A_LSB 29
  692. #define REO_UPDATE_RX_REO_QUEUE_RESERVED_4A_MSB 31
  693. #define REO_UPDATE_RX_REO_QUEUE_RESERVED_4A_MASK 0x00000000e0000000
  694. /* Description PN_31_0
  695. Field only valid when Update_Pn is set
  696. Field value to be copied over into the RX_REO_QUEUE descriptor.
  697. <legal all>
  698. */
  699. #define REO_UPDATE_RX_REO_QUEUE_PN_31_0_OFFSET 0x0000000000000010
  700. #define REO_UPDATE_RX_REO_QUEUE_PN_31_0_LSB 32
  701. #define REO_UPDATE_RX_REO_QUEUE_PN_31_0_MSB 63
  702. #define REO_UPDATE_RX_REO_QUEUE_PN_31_0_MASK 0xffffffff00000000
  703. /* Description PN_63_32
  704. Field only valid when Update_pn is set
  705. Field value to be copied over into the RX_REO_QUEUE descriptor.
  706. <legal all>
  707. */
  708. #define REO_UPDATE_RX_REO_QUEUE_PN_63_32_OFFSET 0x0000000000000018
  709. #define REO_UPDATE_RX_REO_QUEUE_PN_63_32_LSB 0
  710. #define REO_UPDATE_RX_REO_QUEUE_PN_63_32_MSB 31
  711. #define REO_UPDATE_RX_REO_QUEUE_PN_63_32_MASK 0x00000000ffffffff
  712. /* Description PN_95_64
  713. Field only valid when Update_pn is set
  714. Field value to be copied over into the RX_REO_QUEUE descriptor.
  715. <legal all>
  716. */
  717. #define REO_UPDATE_RX_REO_QUEUE_PN_95_64_OFFSET 0x0000000000000018
  718. #define REO_UPDATE_RX_REO_QUEUE_PN_95_64_LSB 32
  719. #define REO_UPDATE_RX_REO_QUEUE_PN_95_64_MSB 63
  720. #define REO_UPDATE_RX_REO_QUEUE_PN_95_64_MASK 0xffffffff00000000
  721. /* Description PN_127_96
  722. Field only valid when Update_pn is set
  723. Field value to be copied over into the RX_REO_QUEUE descriptor.
  724. <legal all>
  725. */
  726. #define REO_UPDATE_RX_REO_QUEUE_PN_127_96_OFFSET 0x0000000000000020
  727. #define REO_UPDATE_RX_REO_QUEUE_PN_127_96_LSB 0
  728. #define REO_UPDATE_RX_REO_QUEUE_PN_127_96_MSB 31
  729. #define REO_UPDATE_RX_REO_QUEUE_PN_127_96_MASK 0x00000000ffffffff
  730. /* Description TLV64_PADDING
  731. Automatic DWORD padding inserted while converting TLV32
  732. to TLV64 for 64 bit ARCH
  733. <legal 0>
  734. */
  735. #define REO_UPDATE_RX_REO_QUEUE_TLV64_PADDING_OFFSET 0x0000000000000020
  736. #define REO_UPDATE_RX_REO_QUEUE_TLV64_PADDING_LSB 32
  737. #define REO_UPDATE_RX_REO_QUEUE_TLV64_PADDING_MSB 63
  738. #define REO_UPDATE_RX_REO_QUEUE_TLV64_PADDING_MASK 0xffffffff00000000
  739. #endif // REO_UPDATE_RX_REO_QUEUE