reo_update_rx_reo_queue.h 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666
  1. /*
  2. * Copyright (c) 2021 The Linux Foundation. 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. // $ATH_LICENSE_HW_HDR_C$
  17. //
  18. // DO NOT EDIT! This file is automatically generated
  19. // These definitions are tied to a particular hardware layout
  20. #ifndef _REO_UPDATE_RX_REO_QUEUE_H_
  21. #define _REO_UPDATE_RX_REO_QUEUE_H_
  22. #if !defined(__ASSEMBLER__)
  23. #endif
  24. #include "uniform_reo_cmd_header.h"
  25. // ################ START SUMMARY #################
  26. //
  27. // Dword Fields
  28. // 0 struct uniform_reo_cmd_header cmd_header;
  29. // 1 rx_reo_queue_desc_addr_31_0[31:0]
  30. // 2 rx_reo_queue_desc_addr_39_32[7:0], update_receive_queue_number[8], update_vld[9], update_associated_link_descriptor_counter[10], update_disable_duplicate_detection[11], update_soft_reorder_enable[12], update_ac[13], update_bar[14], update_rty[15], update_chk_2k_mode[16], update_oor_mode[17], update_ba_window_size[18], update_pn_check_needed[19], update_pn_shall_be_even[20], update_pn_shall_be_uneven[21], update_pn_handling_enable[22], update_pn_size[23], update_ignore_ampdu_flag[24], update_svld[25], update_ssn[26], update_seq_2k_error_detected_flag[27], update_pn_error_detected_flag[28], update_pn_valid[29], update_pn[30], clear_stat_counters[31]
  31. // 3 receive_queue_number[15:0], vld[16], associated_link_descriptor_counter[18:17], disable_duplicate_detection[19], soft_reorder_enable[20], ac[22:21], bar[23], rty[24], chk_2k_mode[25], oor_mode[26], pn_check_needed[27], pn_shall_be_even[28], pn_shall_be_uneven[29], pn_handling_enable[30], ignore_ampdu_flag[31]
  32. // 4 ba_window_size[7:0], pn_size[9:8], svld[10], ssn[22:11], seq_2k_error_detected_flag[23], pn_error_detected_flag[24], pn_valid[25], flush_from_cache[26], reserved_4a[31:27]
  33. // 5 pn_31_0[31:0]
  34. // 6 pn_63_32[31:0]
  35. // 7 pn_95_64[31:0]
  36. // 8 pn_127_96[31:0]
  37. //
  38. // ################ END SUMMARY #################
  39. #define NUM_OF_DWORDS_REO_UPDATE_RX_REO_QUEUE 9
  40. struct reo_update_rx_reo_queue {
  41. struct uniform_reo_cmd_header cmd_header;
  42. uint32_t rx_reo_queue_desc_addr_31_0 : 32; //[31:0]
  43. uint32_t rx_reo_queue_desc_addr_39_32 : 8, //[7:0]
  44. update_receive_queue_number : 1, //[8]
  45. update_vld : 1, //[9]
  46. update_associated_link_descriptor_counter: 1, //[10]
  47. update_disable_duplicate_detection: 1, //[11]
  48. update_soft_reorder_enable : 1, //[12]
  49. update_ac : 1, //[13]
  50. update_bar : 1, //[14]
  51. update_rty : 1, //[15]
  52. update_chk_2k_mode : 1, //[16]
  53. update_oor_mode : 1, //[17]
  54. update_ba_window_size : 1, //[18]
  55. update_pn_check_needed : 1, //[19]
  56. update_pn_shall_be_even : 1, //[20]
  57. update_pn_shall_be_uneven : 1, //[21]
  58. update_pn_handling_enable : 1, //[22]
  59. update_pn_size : 1, //[23]
  60. update_ignore_ampdu_flag : 1, //[24]
  61. update_svld : 1, //[25]
  62. update_ssn : 1, //[26]
  63. update_seq_2k_error_detected_flag: 1, //[27]
  64. update_pn_error_detected_flag : 1, //[28]
  65. update_pn_valid : 1, //[29]
  66. update_pn : 1, //[30]
  67. clear_stat_counters : 1; //[31]
  68. uint32_t receive_queue_number : 16, //[15:0]
  69. vld : 1, //[16]
  70. associated_link_descriptor_counter: 2, //[18:17]
  71. disable_duplicate_detection : 1, //[19]
  72. soft_reorder_enable : 1, //[20]
  73. ac : 2, //[22:21]
  74. bar : 1, //[23]
  75. rty : 1, //[24]
  76. chk_2k_mode : 1, //[25]
  77. oor_mode : 1, //[26]
  78. pn_check_needed : 1, //[27]
  79. pn_shall_be_even : 1, //[28]
  80. pn_shall_be_uneven : 1, //[29]
  81. pn_handling_enable : 1, //[30]
  82. ignore_ampdu_flag : 1; //[31]
  83. uint32_t ba_window_size : 8, //[7:0]
  84. pn_size : 2, //[9:8]
  85. svld : 1, //[10]
  86. ssn : 12, //[22:11]
  87. seq_2k_error_detected_flag : 1, //[23]
  88. pn_error_detected_flag : 1, //[24]
  89. pn_valid : 1, //[25]
  90. flush_from_cache : 1, //[26]
  91. reserved_4a : 5; //[31:27]
  92. uint32_t pn_31_0 : 32; //[31:0]
  93. uint32_t pn_63_32 : 32; //[31:0]
  94. uint32_t pn_95_64 : 32; //[31:0]
  95. uint32_t pn_127_96 : 32; //[31:0]
  96. };
  97. /*
  98. struct uniform_reo_cmd_header cmd_header
  99. Consumer: REO
  100. Producer: SW
  101. Details for command execution tracking purposes.
  102. rx_reo_queue_desc_addr_31_0
  103. Consumer: REO
  104. Producer: SW
  105. Address (lower 32 bits) of the REO queue descriptor
  106. <legal all>
  107. rx_reo_queue_desc_addr_39_32
  108. Consumer: REO
  109. Producer: SW
  110. Address (upper 8 bits) of the REO queue descriptor
  111. <legal all>
  112. update_receive_queue_number
  113. Consumer: REO
  114. Producer: SW
  115. When set, receive_queue_number from this command will be
  116. updated in the descriptor.
  117. <legal all>
  118. update_vld
  119. Consumer: REO
  120. Producer: SW
  121. When clear, REO will NOT update the VLD bit setting. For
  122. this setting, SW MUST set the Flush_from_cache bit in this
  123. command.
  124. When set, VLD from this command will be updated in the
  125. descriptor.
  126. <legal all>
  127. update_associated_link_descriptor_counter
  128. Consumer: REO
  129. Producer: SW
  130. When set, Associated_link_descriptor_counter from this
  131. command will be updated in the descriptor.
  132. <legal all>
  133. update_disable_duplicate_detection
  134. Consumer: REO
  135. Producer: SW
  136. When set, Disable_duplicate_detection from this command
  137. will be updated in the descriptor.
  138. <legal all>
  139. update_soft_reorder_enable
  140. Consumer: REO
  141. Producer: SW
  142. When set, Soft_reorder_enable from this command will be
  143. updated in the descriptor.
  144. <legal all>
  145. update_ac
  146. Consumer: REO
  147. Producer: SW
  148. When set, AC from this command will be updated in the
  149. descriptor.
  150. <legal all>
  151. update_bar
  152. Consumer: REO
  153. Producer: SW
  154. When set, BAR from this command will be updated in the
  155. descriptor.
  156. <legal all>
  157. update_rty
  158. Consumer: REO
  159. Producer: SW
  160. When set, RTY from this command will be updated in the
  161. descriptor.
  162. <legal all>
  163. update_chk_2k_mode
  164. Consumer: REO
  165. Producer: SW
  166. When set, Chk_2k_mode from this command will be updated
  167. in the descriptor.
  168. <legal all>
  169. update_oor_mode
  170. Consumer: REO
  171. Producer: SW
  172. When set, OOR_Mode from this command will be updated in
  173. the descriptor.
  174. <legal all>
  175. update_ba_window_size
  176. Consumer: REO
  177. Producer: SW
  178. When set, BA_window_size from this command will be
  179. updated in the descriptor.
  180. <legal all>
  181. update_pn_check_needed
  182. Consumer: REO
  183. Producer: SW
  184. When set, Pn_check_needed from this command will be
  185. updated in the descriptor.
  186. <legal all>
  187. update_pn_shall_be_even
  188. Consumer: REO
  189. Producer: SW
  190. When set, Pn_shall_be_even from this command will be
  191. updated in the descriptor.
  192. <legal all>
  193. update_pn_shall_be_uneven
  194. Consumer: REO
  195. Producer: SW
  196. When set, Pn_shall_be_uneven from this command will be
  197. updated in the descriptor.
  198. <legal all>
  199. update_pn_handling_enable
  200. Consumer: REO
  201. Producer: SW
  202. When set, Pn_handling_enable from this command will be
  203. updated in the descriptor.
  204. <legal all>
  205. update_pn_size
  206. Consumer: REO
  207. Producer: SW
  208. When set, Pn_size from this command will be updated in
  209. the descriptor.
  210. <legal all>
  211. update_ignore_ampdu_flag
  212. Consumer: REO
  213. Producer: SW
  214. When set, Ignore_ampdu_flag from this command will be
  215. updated in the descriptor.
  216. <legal all>
  217. update_svld
  218. Consumer: REO
  219. Producer: SW
  220. When set, Svld from this command will be updated in the
  221. descriptor.
  222. <legal all>
  223. update_ssn
  224. Consumer: REO
  225. Producer: SW
  226. When set, SSN from this command will be updated in the
  227. descriptor.
  228. <legal all>
  229. update_seq_2k_error_detected_flag
  230. Consumer: REO
  231. Producer: SW
  232. When set, Seq_2k_error_detected_flag from this command
  233. will be updated in the descriptor.
  234. <legal all>
  235. update_pn_error_detected_flag
  236. Consumer: REO
  237. Producer: SW
  238. When set, pn_error_detected_flag from this command will
  239. be updated in the descriptor.
  240. <legal all>
  241. update_pn_valid
  242. Consumer: REO
  243. Producer: SW
  244. When set, pn_valid from this command will be updated in
  245. the descriptor.
  246. <legal all>
  247. update_pn
  248. Consumer: REO
  249. Producer: SW
  250. When set, all pn_... fields from this command will be
  251. updated in the descriptor.
  252. <legal all>
  253. clear_stat_counters
  254. Consumer: REO
  255. Producer: SW
  256. When set, REO will clear (=> set to 0) the following
  257. stat counters in the REO_QUEUE_STRUCT
  258. Last_rx_enqueue_TimeStamp
  259. Last_rx_dequeue_Timestamp
  260. Rx_bitmap (not a counter, but bitmap is cleared)
  261. Timeout_count
  262. Forward_due_to_bar_count
  263. Duplicate_count
  264. Frames_in_order_count
  265. BAR_received_count
  266. MPDU_Frames_processed_count
  267. MSDU_Frames_processed_count
  268. Total_processed_byte_count
  269. Late_receive_MPDU_count
  270. window_jump_2k
  271. Hole_count
  272. <legal all>
  273. receive_queue_number
  274. Field value to be copied over into the RX_REO_QUEUE
  275. descriptor.
  276. <legal all>
  277. vld
  278. Field only valid when Update_VLD is set
  279. Field value to be copied over into the RX_REO_QUEUE
  280. descriptor.
  281. <legal all>
  282. associated_link_descriptor_counter
  283. Field only valid when
  284. Update_Associated_link_descriptor_counter is set
  285. Field value to be copied over into the RX_REO_QUEUE
  286. descriptor.
  287. <legal all>
  288. disable_duplicate_detection
  289. Field only valid when Update_Disable_duplicate_detection
  290. is set
  291. Field value to be copied over into the RX_REO_QUEUE
  292. descriptor.
  293. <legal all>
  294. soft_reorder_enable
  295. Field only valid when Update_Soft_reorder_enable is set
  296. Field value to be copied over into the RX_REO_QUEUE
  297. descriptor.
  298. <legal all>
  299. ac
  300. Field only valid when Update_AC is set
  301. Field value to be copied over into the RX_REO_QUEUE
  302. descriptor.
  303. <legal all>
  304. bar
  305. Field only valid when Update_BAR is set
  306. Field value to be copied over into the RX_REO_QUEUE
  307. descriptor.
  308. <legal all>
  309. rty
  310. Field only valid when Update_RTY is set
  311. Field value to be copied over into the RX_REO_QUEUE
  312. descriptor.
  313. <legal all>
  314. chk_2k_mode
  315. Field only valid when Update_Chk_2k_Mode is set
  316. Field value to be copied over into the RX_REO_QUEUE
  317. descriptor.
  318. <legal all>
  319. oor_mode
  320. Field only valid when Update_OOR_Mode is set
  321. Field value to be copied over into the RX_REO_QUEUE
  322. descriptor.
  323. <legal all>
  324. pn_check_needed
  325. Field only valid when Update_Pn_check_needed is set
  326. Field value to be copied over into the RX_REO_QUEUE
  327. descriptor.
  328. <legal all>
  329. pn_shall_be_even
  330. Field only valid when Update_Pn_shall_be_even is set
  331. Field value to be copied over into the RX_REO_QUEUE
  332. descriptor.
  333. <legal all>
  334. pn_shall_be_uneven
  335. Field only valid when Update_Pn_shall_be_uneven is set
  336. Field value to be copied over into the RX_REO_QUEUE
  337. descriptor.
  338. <legal all>
  339. pn_handling_enable
  340. Field only valid when Update_Pn_handling_enable is set
  341. Field value to be copied over into the RX_REO_QUEUE
  342. descriptor.
  343. <legal all>
  344. ignore_ampdu_flag
  345. Field only valid when Update_Ignore_ampdu_flag is set
  346. Field value to be copied over into the RX_REO_QUEUE
  347. descriptor.
  348. <legal all>
  349. ba_window_size
  350. Field only valid when Update_BA_window_size is set
  351. Field value to be copied over into the RX_REO_QUEUE
  352. descriptor.
  353. <legal all>
  354. pn_size
  355. Field only valid when Update_Pn_size is set
  356. Field value to be copied over into the RX_REO_QUEUE
  357. descriptor.
  358. <enum 0 pn_size_24>
  359. <enum 1 pn_size_48>
  360. <enum 2 pn_size_128>
  361. <legal 0-2>
  362. svld
  363. Field only valid when Update_Svld is set
  364. Field value to be copied over into the RX_REO_QUEUE
  365. descriptor.
  366. <legal all>
  367. ssn
  368. Field only valid when Update_SSN is set
  369. Field value to be copied over into the RX_REO_QUEUE
  370. descriptor.
  371. <legal all>
  372. seq_2k_error_detected_flag
  373. Field only valid when Update_Seq_2k_error_detected_flag
  374. is set
  375. Field value to be copied over into the RX_REO_QUEUE
  376. descriptor.
  377. <legal all>
  378. pn_error_detected_flag
  379. Field only valid when Update_pn_error_detected_flag is
  380. set
  381. Field value to be copied over into the RX_REO_QUEUE
  382. descriptor.
  383. <legal all>
  384. pn_valid
  385. Field only valid when Update_pn_valid is set
  386. Field value to be copied over into the RX_REO_QUEUE
  387. descriptor.
  388. <legal all>
  389. flush_from_cache
  390. When set, REO shall, after finishing the execution of
  391. this command, flush the related descriptor from the cache.
  392. <legal all>
  393. reserved_4a
  394. <legal 0>
  395. pn_31_0
  396. Field only valid when Update_Pn is set
  397. Field value to be copied over into the RX_REO_QUEUE
  398. descriptor.
  399. <legal all>
  400. pn_63_32
  401. Field only valid when Update_pn is set
  402. Field value to be copied over into the RX_REO_QUEUE
  403. descriptor.
  404. <legal all>
  405. pn_95_64
  406. Field only valid when Update_pn is set
  407. Field value to be copied over into the RX_REO_QUEUE
  408. descriptor.
  409. <legal all>
  410. pn_127_96
  411. Field only valid when Update_pn is set
  412. Field value to be copied over into the RX_REO_QUEUE
  413. descriptor.
  414. <legal all>
  415. */
  416. /* EXTERNAL REFERENCE : struct uniform_reo_cmd_header cmd_header */
  417. /* Description REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER
  418. Consumer: REO/SW/DEBUG
  419. Producer: SW
  420. This number can be used by SW to track, identify and
  421. link the created commands with the command statusses
  422. <legal all>
  423. */
  424. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER_OFFSET 0x00000000
  425. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER_LSB 0
  426. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER_MASK 0x0000ffff
  427. /* Description REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED
  428. Consumer: REO
  429. Producer: SW
  430. <enum 0 NoStatus> REO does not need to generate a status
  431. TLV for the execution of this command
  432. <enum 1 StatusRequired> REO shall generate a status TLV
  433. for the execution of this command
  434. <legal all>
  435. */
  436. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED_OFFSET 0x00000000
  437. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED_LSB 16
  438. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED_MASK 0x00010000
  439. /* Description REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A
  440. <legal 0>
  441. */
  442. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A_OFFSET 0x00000000
  443. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A_LSB 17
  444. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A_MASK 0xfffe0000
  445. /* Description REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0
  446. Consumer: REO
  447. Producer: SW
  448. Address (lower 32 bits) of the REO queue descriptor
  449. <legal all>
  450. */
  451. #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_OFFSET 0x00000004
  452. #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_LSB 0
  453. #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_MASK 0xffffffff
  454. /* Description REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32
  455. Consumer: REO
  456. Producer: SW
  457. Address (upper 8 bits) of the REO queue descriptor
  458. <legal all>
  459. */
  460. #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_OFFSET 0x00000008
  461. #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_LSB 0
  462. #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_MASK 0x000000ff
  463. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER
  464. Consumer: REO
  465. Producer: SW
  466. When set, receive_queue_number from this command will be
  467. updated in the descriptor.
  468. <legal all>
  469. */
  470. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_OFFSET 0x00000008
  471. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_LSB 8
  472. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_MASK 0x00000100
  473. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD
  474. Consumer: REO
  475. Producer: SW
  476. When clear, REO will NOT update the VLD bit setting. For
  477. this setting, SW MUST set the Flush_from_cache bit in this
  478. command.
  479. When set, VLD from this command will be updated in the
  480. descriptor.
  481. <legal all>
  482. */
  483. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_OFFSET 0x00000008
  484. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_LSB 9
  485. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_MASK 0x00000200
  486. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER
  487. Consumer: REO
  488. Producer: SW
  489. When set, Associated_link_descriptor_counter from this
  490. command will be updated in the descriptor.
  491. <legal all>
  492. */
  493. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x00000008
  494. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 10
  495. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x00000400
  496. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION
  497. Consumer: REO
  498. Producer: SW
  499. When set, Disable_duplicate_detection from this command
  500. will be updated in the descriptor.
  501. <legal all>
  502. */
  503. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_OFFSET 0x00000008
  504. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_LSB 11
  505. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_MASK 0x00000800
  506. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE
  507. Consumer: REO
  508. Producer: SW
  509. When set, Soft_reorder_enable from this command will be
  510. updated in the descriptor.
  511. <legal all>
  512. */
  513. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_OFFSET 0x00000008
  514. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_LSB 12
  515. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_MASK 0x00001000
  516. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC
  517. Consumer: REO
  518. Producer: SW
  519. When set, AC from this command will be updated in the
  520. descriptor.
  521. <legal all>
  522. */
  523. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_OFFSET 0x00000008
  524. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_LSB 13
  525. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_MASK 0x00002000
  526. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR
  527. Consumer: REO
  528. Producer: SW
  529. When set, BAR from this command will be updated in the
  530. descriptor.
  531. <legal all>
  532. */
  533. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_OFFSET 0x00000008
  534. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_LSB 14
  535. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_MASK 0x00004000
  536. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY
  537. Consumer: REO
  538. Producer: SW
  539. When set, RTY from this command will be updated in the
  540. descriptor.
  541. <legal all>
  542. */
  543. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_OFFSET 0x00000008
  544. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_LSB 15
  545. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_MASK 0x00008000
  546. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE
  547. Consumer: REO
  548. Producer: SW
  549. When set, Chk_2k_mode from this command will be updated
  550. in the descriptor.
  551. <legal all>
  552. */
  553. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_OFFSET 0x00000008
  554. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_LSB 16
  555. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_MASK 0x00010000
  556. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE
  557. Consumer: REO
  558. Producer: SW
  559. When set, OOR_Mode from this command will be updated in
  560. the descriptor.
  561. <legal all>
  562. */
  563. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_OFFSET 0x00000008
  564. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_LSB 17
  565. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_MASK 0x00020000
  566. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE
  567. Consumer: REO
  568. Producer: SW
  569. When set, BA_window_size from this command will be
  570. updated in the descriptor.
  571. <legal all>
  572. */
  573. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_OFFSET 0x00000008
  574. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_LSB 18
  575. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_MASK 0x00040000
  576. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED
  577. Consumer: REO
  578. Producer: SW
  579. When set, Pn_check_needed from this command will be
  580. updated in the descriptor.
  581. <legal all>
  582. */
  583. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_OFFSET 0x00000008
  584. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_LSB 19
  585. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_MASK 0x00080000
  586. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN
  587. Consumer: REO
  588. Producer: SW
  589. When set, Pn_shall_be_even from this command will be
  590. updated in the descriptor.
  591. <legal all>
  592. */
  593. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_OFFSET 0x00000008
  594. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_LSB 20
  595. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_MASK 0x00100000
  596. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN
  597. Consumer: REO
  598. Producer: SW
  599. When set, Pn_shall_be_uneven from this command will be
  600. updated in the descriptor.
  601. <legal all>
  602. */
  603. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_OFFSET 0x00000008
  604. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_LSB 21
  605. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_MASK 0x00200000
  606. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE
  607. Consumer: REO
  608. Producer: SW
  609. When set, Pn_handling_enable from this command will be
  610. updated in the descriptor.
  611. <legal all>
  612. */
  613. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_OFFSET 0x00000008
  614. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_LSB 22
  615. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_MASK 0x00400000
  616. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE
  617. Consumer: REO
  618. Producer: SW
  619. When set, Pn_size from this command will be updated in
  620. the descriptor.
  621. <legal all>
  622. */
  623. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_OFFSET 0x00000008
  624. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_LSB 23
  625. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_MASK 0x00800000
  626. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG
  627. Consumer: REO
  628. Producer: SW
  629. When set, Ignore_ampdu_flag from this command will be
  630. updated in the descriptor.
  631. <legal all>
  632. */
  633. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_OFFSET 0x00000008
  634. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_LSB 24
  635. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_MASK 0x01000000
  636. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD
  637. Consumer: REO
  638. Producer: SW
  639. When set, Svld from this command will be updated in the
  640. descriptor.
  641. <legal all>
  642. */
  643. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_OFFSET 0x00000008
  644. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_LSB 25
  645. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_MASK 0x02000000
  646. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN
  647. Consumer: REO
  648. Producer: SW
  649. When set, SSN from this command will be updated in the
  650. descriptor.
  651. <legal all>
  652. */
  653. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_OFFSET 0x00000008
  654. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_LSB 26
  655. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_MASK 0x04000000
  656. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG
  657. Consumer: REO
  658. Producer: SW
  659. When set, Seq_2k_error_detected_flag from this command
  660. will be updated in the descriptor.
  661. <legal all>
  662. */
  663. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET 0x00000008
  664. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_LSB 27
  665. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_MASK 0x08000000
  666. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG
  667. Consumer: REO
  668. Producer: SW
  669. When set, pn_error_detected_flag from this command will
  670. be updated in the descriptor.
  671. <legal all>
  672. */
  673. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_OFFSET 0x00000008
  674. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_LSB 28
  675. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_MASK 0x10000000
  676. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID
  677. Consumer: REO
  678. Producer: SW
  679. When set, pn_valid from this command will be updated in
  680. the descriptor.
  681. <legal all>
  682. */
  683. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_OFFSET 0x00000008
  684. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_LSB 29
  685. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_MASK 0x20000000
  686. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN
  687. Consumer: REO
  688. Producer: SW
  689. When set, all pn_... fields from this command will be
  690. updated in the descriptor.
  691. <legal all>
  692. */
  693. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_OFFSET 0x00000008
  694. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_LSB 30
  695. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_MASK 0x40000000
  696. /* Description REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS
  697. Consumer: REO
  698. Producer: SW
  699. When set, REO will clear (=> set to 0) the following
  700. stat counters in the REO_QUEUE_STRUCT
  701. Last_rx_enqueue_TimeStamp
  702. Last_rx_dequeue_Timestamp
  703. Rx_bitmap (not a counter, but bitmap is cleared)
  704. Timeout_count
  705. Forward_due_to_bar_count
  706. Duplicate_count
  707. Frames_in_order_count
  708. BAR_received_count
  709. MPDU_Frames_processed_count
  710. MSDU_Frames_processed_count
  711. Total_processed_byte_count
  712. Late_receive_MPDU_count
  713. window_jump_2k
  714. Hole_count
  715. <legal all>
  716. */
  717. #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_OFFSET 0x00000008
  718. #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_LSB 31
  719. #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_MASK 0x80000000
  720. /* Description REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER
  721. Field value to be copied over into the RX_REO_QUEUE
  722. descriptor.
  723. <legal all>
  724. */
  725. #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_OFFSET 0x0000000c
  726. #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_LSB 0
  727. #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_MASK 0x0000ffff
  728. /* Description REO_UPDATE_RX_REO_QUEUE_3_VLD
  729. Field only valid when Update_VLD is set
  730. Field value to be copied over into the RX_REO_QUEUE
  731. descriptor.
  732. <legal all>
  733. */
  734. #define REO_UPDATE_RX_REO_QUEUE_3_VLD_OFFSET 0x0000000c
  735. #define REO_UPDATE_RX_REO_QUEUE_3_VLD_LSB 16
  736. #define REO_UPDATE_RX_REO_QUEUE_3_VLD_MASK 0x00010000
  737. /* Description REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER
  738. Field only valid when
  739. Update_Associated_link_descriptor_counter is set
  740. Field value to be copied over into the RX_REO_QUEUE
  741. descriptor.
  742. <legal all>
  743. */
  744. #define REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x0000000c
  745. #define REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 17
  746. #define REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x00060000
  747. /* Description REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION
  748. Field only valid when Update_Disable_duplicate_detection
  749. is set
  750. Field value to be copied over into the RX_REO_QUEUE
  751. descriptor.
  752. <legal all>
  753. */
  754. #define REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION_OFFSET 0x0000000c
  755. #define REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION_LSB 19
  756. #define REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION_MASK 0x00080000
  757. /* Description REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE
  758. Field only valid when Update_Soft_reorder_enable is set
  759. Field value to be copied over into the RX_REO_QUEUE
  760. descriptor.
  761. <legal all>
  762. */
  763. #define REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE_OFFSET 0x0000000c
  764. #define REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE_LSB 20
  765. #define REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE_MASK 0x00100000
  766. /* Description REO_UPDATE_RX_REO_QUEUE_3_AC
  767. Field only valid when Update_AC is set
  768. Field value to be copied over into the RX_REO_QUEUE
  769. descriptor.
  770. <legal all>
  771. */
  772. #define REO_UPDATE_RX_REO_QUEUE_3_AC_OFFSET 0x0000000c
  773. #define REO_UPDATE_RX_REO_QUEUE_3_AC_LSB 21
  774. #define REO_UPDATE_RX_REO_QUEUE_3_AC_MASK 0x00600000
  775. /* Description REO_UPDATE_RX_REO_QUEUE_3_BAR
  776. Field only valid when Update_BAR is set
  777. Field value to be copied over into the RX_REO_QUEUE
  778. descriptor.
  779. <legal all>
  780. */
  781. #define REO_UPDATE_RX_REO_QUEUE_3_BAR_OFFSET 0x0000000c
  782. #define REO_UPDATE_RX_REO_QUEUE_3_BAR_LSB 23
  783. #define REO_UPDATE_RX_REO_QUEUE_3_BAR_MASK 0x00800000
  784. /* Description REO_UPDATE_RX_REO_QUEUE_3_RTY
  785. Field only valid when Update_RTY is set
  786. Field value to be copied over into the RX_REO_QUEUE
  787. descriptor.
  788. <legal all>
  789. */
  790. #define REO_UPDATE_RX_REO_QUEUE_3_RTY_OFFSET 0x0000000c
  791. #define REO_UPDATE_RX_REO_QUEUE_3_RTY_LSB 24
  792. #define REO_UPDATE_RX_REO_QUEUE_3_RTY_MASK 0x01000000
  793. /* Description REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE
  794. Field only valid when Update_Chk_2k_Mode is set
  795. Field value to be copied over into the RX_REO_QUEUE
  796. descriptor.
  797. <legal all>
  798. */
  799. #define REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE_OFFSET 0x0000000c
  800. #define REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE_LSB 25
  801. #define REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE_MASK 0x02000000
  802. /* Description REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE
  803. Field only valid when Update_OOR_Mode is set
  804. Field value to be copied over into the RX_REO_QUEUE
  805. descriptor.
  806. <legal all>
  807. */
  808. #define REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE_OFFSET 0x0000000c
  809. #define REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE_LSB 26
  810. #define REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE_MASK 0x04000000
  811. /* Description REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED
  812. Field only valid when Update_Pn_check_needed is set
  813. Field value to be copied over into the RX_REO_QUEUE
  814. descriptor.
  815. <legal all>
  816. */
  817. #define REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED_OFFSET 0x0000000c
  818. #define REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED_LSB 27
  819. #define REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED_MASK 0x08000000
  820. /* Description REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN
  821. Field only valid when Update_Pn_shall_be_even is set
  822. Field value to be copied over into the RX_REO_QUEUE
  823. descriptor.
  824. <legal all>
  825. */
  826. #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN_OFFSET 0x0000000c
  827. #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN_LSB 28
  828. #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN_MASK 0x10000000
  829. /* Description REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN
  830. Field only valid when Update_Pn_shall_be_uneven is set
  831. Field value to be copied over into the RX_REO_QUEUE
  832. descriptor.
  833. <legal all>
  834. */
  835. #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN_OFFSET 0x0000000c
  836. #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN_LSB 29
  837. #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN_MASK 0x20000000
  838. /* Description REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE
  839. Field only valid when Update_Pn_handling_enable is set
  840. Field value to be copied over into the RX_REO_QUEUE
  841. descriptor.
  842. <legal all>
  843. */
  844. #define REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE_OFFSET 0x0000000c
  845. #define REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE_LSB 30
  846. #define REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE_MASK 0x40000000
  847. /* Description REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG
  848. Field only valid when Update_Ignore_ampdu_flag is set
  849. Field value to be copied over into the RX_REO_QUEUE
  850. descriptor.
  851. <legal all>
  852. */
  853. #define REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG_OFFSET 0x0000000c
  854. #define REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG_LSB 31
  855. #define REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG_MASK 0x80000000
  856. /* Description REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE
  857. Field only valid when Update_BA_window_size is set
  858. Field value to be copied over into the RX_REO_QUEUE
  859. descriptor.
  860. <legal all>
  861. */
  862. #define REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE_OFFSET 0x00000010
  863. #define REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE_LSB 0
  864. #define REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE_MASK 0x000000ff
  865. /* Description REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE
  866. Field only valid when Update_Pn_size is set
  867. Field value to be copied over into the RX_REO_QUEUE
  868. descriptor.
  869. <enum 0 pn_size_24>
  870. <enum 1 pn_size_48>
  871. <enum 2 pn_size_128>
  872. <legal 0-2>
  873. */
  874. #define REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE_OFFSET 0x00000010
  875. #define REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE_LSB 8
  876. #define REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE_MASK 0x00000300
  877. /* Description REO_UPDATE_RX_REO_QUEUE_4_SVLD
  878. Field only valid when Update_Svld is set
  879. Field value to be copied over into the RX_REO_QUEUE
  880. descriptor.
  881. <legal all>
  882. */
  883. #define REO_UPDATE_RX_REO_QUEUE_4_SVLD_OFFSET 0x00000010
  884. #define REO_UPDATE_RX_REO_QUEUE_4_SVLD_LSB 10
  885. #define REO_UPDATE_RX_REO_QUEUE_4_SVLD_MASK 0x00000400
  886. /* Description REO_UPDATE_RX_REO_QUEUE_4_SSN
  887. Field only valid when Update_SSN is set
  888. Field value to be copied over into the RX_REO_QUEUE
  889. descriptor.
  890. <legal all>
  891. */
  892. #define REO_UPDATE_RX_REO_QUEUE_4_SSN_OFFSET 0x00000010
  893. #define REO_UPDATE_RX_REO_QUEUE_4_SSN_LSB 11
  894. #define REO_UPDATE_RX_REO_QUEUE_4_SSN_MASK 0x007ff800
  895. /* Description REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG
  896. Field only valid when Update_Seq_2k_error_detected_flag
  897. is set
  898. Field value to be copied over into the RX_REO_QUEUE
  899. descriptor.
  900. <legal all>
  901. */
  902. #define REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET 0x00000010
  903. #define REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG_LSB 23
  904. #define REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG_MASK 0x00800000
  905. /* Description REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG
  906. Field only valid when Update_pn_error_detected_flag is
  907. set
  908. Field value to be copied over into the RX_REO_QUEUE
  909. descriptor.
  910. <legal all>
  911. */
  912. #define REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG_OFFSET 0x00000010
  913. #define REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG_LSB 24
  914. #define REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG_MASK 0x01000000
  915. /* Description REO_UPDATE_RX_REO_QUEUE_4_PN_VALID
  916. Field only valid when Update_pn_valid is set
  917. Field value to be copied over into the RX_REO_QUEUE
  918. descriptor.
  919. <legal all>
  920. */
  921. #define REO_UPDATE_RX_REO_QUEUE_4_PN_VALID_OFFSET 0x00000010
  922. #define REO_UPDATE_RX_REO_QUEUE_4_PN_VALID_LSB 25
  923. #define REO_UPDATE_RX_REO_QUEUE_4_PN_VALID_MASK 0x02000000
  924. /* Description REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE
  925. When set, REO shall, after finishing the execution of
  926. this command, flush the related descriptor from the cache.
  927. <legal all>
  928. */
  929. #define REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE_OFFSET 0x00000010
  930. #define REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE_LSB 26
  931. #define REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE_MASK 0x04000000
  932. /* Description REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A
  933. <legal 0>
  934. */
  935. #define REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A_OFFSET 0x00000010
  936. #define REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A_LSB 27
  937. #define REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A_MASK 0xf8000000
  938. /* Description REO_UPDATE_RX_REO_QUEUE_5_PN_31_0
  939. Field only valid when Update_Pn is set
  940. Field value to be copied over into the RX_REO_QUEUE
  941. descriptor.
  942. <legal all>
  943. */
  944. #define REO_UPDATE_RX_REO_QUEUE_5_PN_31_0_OFFSET 0x00000014
  945. #define REO_UPDATE_RX_REO_QUEUE_5_PN_31_0_LSB 0
  946. #define REO_UPDATE_RX_REO_QUEUE_5_PN_31_0_MASK 0xffffffff
  947. /* Description REO_UPDATE_RX_REO_QUEUE_6_PN_63_32
  948. Field only valid when Update_pn is set
  949. Field value to be copied over into the RX_REO_QUEUE
  950. descriptor.
  951. <legal all>
  952. */
  953. #define REO_UPDATE_RX_REO_QUEUE_6_PN_63_32_OFFSET 0x00000018
  954. #define REO_UPDATE_RX_REO_QUEUE_6_PN_63_32_LSB 0
  955. #define REO_UPDATE_RX_REO_QUEUE_6_PN_63_32_MASK 0xffffffff
  956. /* Description REO_UPDATE_RX_REO_QUEUE_7_PN_95_64
  957. Field only valid when Update_pn is set
  958. Field value to be copied over into the RX_REO_QUEUE
  959. descriptor.
  960. <legal all>
  961. */
  962. #define REO_UPDATE_RX_REO_QUEUE_7_PN_95_64_OFFSET 0x0000001c
  963. #define REO_UPDATE_RX_REO_QUEUE_7_PN_95_64_LSB 0
  964. #define REO_UPDATE_RX_REO_QUEUE_7_PN_95_64_MASK 0xffffffff
  965. /* Description REO_UPDATE_RX_REO_QUEUE_8_PN_127_96
  966. Field only valid when Update_pn is set
  967. Field value to be copied over into the RX_REO_QUEUE
  968. descriptor.
  969. <legal all>
  970. */
  971. #define REO_UPDATE_RX_REO_QUEUE_8_PN_127_96_OFFSET 0x00000020
  972. #define REO_UPDATE_RX_REO_QUEUE_8_PN_127_96_LSB 0
  973. #define REO_UPDATE_RX_REO_QUEUE_8_PN_127_96_MASK 0xffffffff
  974. #endif // _REO_UPDATE_RX_REO_QUEUE_H_