reo_update_rx_reo_queue.h 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670
  1. /*
  2. * Copyright (c) 2019, 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. #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. // ################ START SUMMARY #################
  22. //
  23. // Dword Fields
  24. // 0 struct uniform_reo_cmd_header cmd_header;
  25. // 1 rx_reo_queue_desc_addr_31_0[31:0]
  26. // 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]
  27. // 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]
  28. // 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]
  29. // 5 pn_31_0[31:0]
  30. // 6 pn_63_32[31:0]
  31. // 7 pn_95_64[31:0]
  32. // 8 pn_127_96[31:0]
  33. //
  34. // ################ END SUMMARY #################
  35. #define NUM_OF_DWORDS_REO_UPDATE_RX_REO_QUEUE 9
  36. struct reo_update_rx_reo_queue {
  37. struct uniform_reo_cmd_header cmd_header;
  38. uint32_t rx_reo_queue_desc_addr_31_0 : 32; //[31:0]
  39. uint32_t rx_reo_queue_desc_addr_39_32 : 8, //[7:0]
  40. update_receive_queue_number : 1, //[8]
  41. update_vld : 1, //[9]
  42. update_associated_link_descriptor_counter: 1, //[10]
  43. update_disable_duplicate_detection: 1, //[11]
  44. update_soft_reorder_enable : 1, //[12]
  45. update_ac : 1, //[13]
  46. update_bar : 1, //[14]
  47. update_rty : 1, //[15]
  48. update_chk_2k_mode : 1, //[16]
  49. update_oor_mode : 1, //[17]
  50. update_ba_window_size : 1, //[18]
  51. update_pn_check_needed : 1, //[19]
  52. update_pn_shall_be_even : 1, //[20]
  53. update_pn_shall_be_uneven : 1, //[21]
  54. update_pn_handling_enable : 1, //[22]
  55. update_pn_size : 1, //[23]
  56. update_ignore_ampdu_flag : 1, //[24]
  57. update_svld : 1, //[25]
  58. update_ssn : 1, //[26]
  59. update_seq_2k_error_detected_flag: 1, //[27]
  60. update_pn_error_detected_flag : 1, //[28]
  61. update_pn_valid : 1, //[29]
  62. update_pn : 1, //[30]
  63. clear_stat_counters : 1; //[31]
  64. uint32_t receive_queue_number : 16, //[15:0]
  65. vld : 1, //[16]
  66. associated_link_descriptor_counter: 2, //[18:17]
  67. disable_duplicate_detection : 1, //[19]
  68. soft_reorder_enable : 1, //[20]
  69. ac : 2, //[22:21]
  70. bar : 1, //[23]
  71. rty : 1, //[24]
  72. chk_2k_mode : 1, //[25]
  73. oor_mode : 1, //[26]
  74. pn_check_needed : 1, //[27]
  75. pn_shall_be_even : 1, //[28]
  76. pn_shall_be_uneven : 1, //[29]
  77. pn_handling_enable : 1, //[30]
  78. ignore_ampdu_flag : 1; //[31]
  79. uint32_t ba_window_size : 8, //[7:0]
  80. pn_size : 2, //[9:8]
  81. svld : 1, //[10]
  82. ssn : 12, //[22:11]
  83. seq_2k_error_detected_flag : 1, //[23]
  84. pn_error_detected_flag : 1, //[24]
  85. pn_valid : 1, //[25]
  86. flush_from_cache : 1, //[26]
  87. reserved_4a : 5; //[31:27]
  88. uint32_t pn_31_0 : 32; //[31:0]
  89. uint32_t pn_63_32 : 32; //[31:0]
  90. uint32_t pn_95_64 : 32; //[31:0]
  91. uint32_t pn_127_96 : 32; //[31:0]
  92. };
  93. /*
  94. struct uniform_reo_cmd_header cmd_header
  95. Consumer: REO
  96. Producer: SW
  97. Details for command execution tracking purposes.
  98. rx_reo_queue_desc_addr_31_0
  99. Consumer: REO
  100. Producer: SW
  101. Address (lower 32 bits) of the REO queue descriptor
  102. <legal all>
  103. rx_reo_queue_desc_addr_39_32
  104. Consumer: REO
  105. Producer: SW
  106. Address (upper 8 bits) of the REO queue descriptor
  107. <legal all>
  108. update_receive_queue_number
  109. Consumer: REO
  110. Producer: SW
  111. When set, receive_queue_number from this command will be
  112. updated in the descriptor.
  113. <legal all>
  114. update_vld
  115. Consumer: REO
  116. Producer: SW
  117. When clear, REO will NOT update the VLD bit setting. For
  118. this setting, SW MUST set the Flush_from_cache bit in this
  119. command.
  120. When set, VLD from this command will be updated in the
  121. descriptor.
  122. <legal all>
  123. update_associated_link_descriptor_counter
  124. Consumer: REO
  125. Producer: SW
  126. When set, Associated_link_descriptor_counter from this
  127. command will be updated in the descriptor.
  128. <legal all>
  129. update_disable_duplicate_detection
  130. Consumer: REO
  131. Producer: SW
  132. When set, Disable_duplicate_detection from this command
  133. will be updated in the descriptor.
  134. <legal all>
  135. update_soft_reorder_enable
  136. Consumer: REO
  137. Producer: SW
  138. When set, Soft_reorder_enable from this command will be
  139. updated in the descriptor.
  140. <legal all>
  141. update_ac
  142. Consumer: REO
  143. Producer: SW
  144. When set, AC from this command will be updated in the
  145. descriptor.
  146. <legal all>
  147. update_bar
  148. Consumer: REO
  149. Producer: SW
  150. When set, BAR from this command will be updated in the
  151. descriptor.
  152. <legal all>
  153. update_rty
  154. Consumer: REO
  155. Producer: SW
  156. When set, RTY from this command will be updated in the
  157. descriptor.
  158. <legal all>
  159. update_chk_2k_mode
  160. Consumer: REO
  161. Producer: SW
  162. When set, Chk_2k_mode from this command will be updated
  163. in the descriptor.
  164. <legal all>
  165. update_oor_mode
  166. Consumer: REO
  167. Producer: SW
  168. When set, OOR_Mode from this command will be updated in
  169. the descriptor.
  170. <legal all>
  171. update_ba_window_size
  172. Consumer: REO
  173. Producer: SW
  174. When set, BA_window_size from this command will be
  175. updated in the descriptor.
  176. <legal all>
  177. update_pn_check_needed
  178. Consumer: REO
  179. Producer: SW
  180. When set, Pn_check_needed from this command will be
  181. updated in the descriptor.
  182. <legal all>
  183. update_pn_shall_be_even
  184. Consumer: REO
  185. Producer: SW
  186. When set, Pn_shall_be_even from this command will be
  187. updated in the descriptor.
  188. <legal all>
  189. update_pn_shall_be_uneven
  190. Consumer: REO
  191. Producer: SW
  192. When set, Pn_shall_be_uneven from this command will be
  193. updated in the descriptor.
  194. <legal all>
  195. update_pn_handling_enable
  196. Consumer: REO
  197. Producer: SW
  198. When set, Pn_handling_enable from this command will be
  199. updated in the descriptor.
  200. <legal all>
  201. update_pn_size
  202. Consumer: REO
  203. Producer: SW
  204. When set, Pn_size from this command will be updated in
  205. the descriptor.
  206. <legal all>
  207. update_ignore_ampdu_flag
  208. Consumer: REO
  209. Producer: SW
  210. When set, Ignore_ampdu_flag from this command will be
  211. updated in the descriptor.
  212. <legal all>
  213. update_svld
  214. Consumer: REO
  215. Producer: SW
  216. When set, Svld from this command will be updated in the
  217. descriptor.
  218. <legal all>
  219. update_ssn
  220. Consumer: REO
  221. Producer: SW
  222. When set, SSN from this command will be updated in the
  223. descriptor.
  224. <legal all>
  225. update_seq_2k_error_detected_flag
  226. Consumer: REO
  227. Producer: SW
  228. When set, Seq_2k_error_detected_flag from this command
  229. will be updated in the descriptor.
  230. <legal all>
  231. update_pn_error_detected_flag
  232. Consumer: REO
  233. Producer: SW
  234. When set, pn_error_detected_flag from this command will
  235. be updated in the descriptor.
  236. <legal all>
  237. update_pn_valid
  238. Consumer: REO
  239. Producer: SW
  240. When set, pn_valid from this command will be updated in
  241. the descriptor.
  242. <legal all>
  243. update_pn
  244. Consumer: REO
  245. Producer: SW
  246. When set, all pn_... fields from this command will be
  247. updated in the descriptor.
  248. <legal all>
  249. clear_stat_counters
  250. Consumer: REO
  251. Producer: SW
  252. When set, REO will clear (=> set to 0) the following
  253. stat counters in the REO_QUEUE_STRUCT
  254. Last_rx_enqueue_TimeStamp
  255. Last_rx_dequeue_Timestamp
  256. Rx_bitmap (not a counter, but bitmap is cleared)
  257. Timeout_count
  258. Forward_due_to_bar_count
  259. Duplicate_count
  260. Frames_in_order_count
  261. BAR_received_count
  262. MPDU_Frames_processed_count
  263. MSDU_Frames_processed_count
  264. Total_processed_byte_count
  265. Late_receive_MPDU_count
  266. window_jump_2k
  267. Hole_count
  268. <legal all>
  269. receive_queue_number
  270. Field value to be copied over into the RX_REO_QUEUE
  271. descriptor.
  272. <legal all>
  273. vld
  274. Field only valid when Update_VLD is set
  275. For Update_VLD set and VLD clear, SW MUST set the
  276. Flush_from_cache bit in this command.
  277. Field value to be copied over into the RX_REO_QUEUE
  278. descriptor.
  279. <legal all>
  280. associated_link_descriptor_counter
  281. Field only valid when
  282. Update_Associated_link_descriptor_counter is set
  283. Field value to be copied over into the RX_REO_QUEUE
  284. descriptor.
  285. <legal all>
  286. disable_duplicate_detection
  287. Field only valid when Update_Disable_duplicate_detection
  288. is set
  289. Field value to be copied over into the RX_REO_QUEUE
  290. descriptor.
  291. <legal all>
  292. soft_reorder_enable
  293. Field only valid when Update_Soft_reorder_enable is set
  294. Field value to be copied over into the RX_REO_QUEUE
  295. descriptor.
  296. <legal all>
  297. ac
  298. Field only valid when Update_AC is set
  299. Field value to be copied over into the RX_REO_QUEUE
  300. descriptor.
  301. <legal all>
  302. bar
  303. Field only valid when Update_BAR is set
  304. Field value to be copied over into the RX_REO_QUEUE
  305. descriptor.
  306. <legal all>
  307. rty
  308. Field only valid when Update_RTY is set
  309. Field value to be copied over into the RX_REO_QUEUE
  310. descriptor.
  311. <legal all>
  312. chk_2k_mode
  313. Field only valid when Update_Chk_2k_Mode is set
  314. Field value to be copied over into the RX_REO_QUEUE
  315. descriptor.
  316. <legal all>
  317. oor_mode
  318. Field only valid when Update_OOR_Mode is set
  319. Field value to be copied over into the RX_REO_QUEUE
  320. descriptor.
  321. <legal all>
  322. pn_check_needed
  323. Field only valid when Update_Pn_check_needed is set
  324. Field value to be copied over into the RX_REO_QUEUE
  325. descriptor.
  326. <legal all>
  327. pn_shall_be_even
  328. Field only valid when Update_Pn_shall_be_even is set
  329. Field value to be copied over into the RX_REO_QUEUE
  330. descriptor.
  331. <legal all>
  332. pn_shall_be_uneven
  333. Field only valid when Update_Pn_shall_be_uneven is set
  334. Field value to be copied over into the RX_REO_QUEUE
  335. descriptor.
  336. <legal all>
  337. pn_handling_enable
  338. Field only valid when Update_Pn_handling_enable is set
  339. Field value to be copied over into the RX_REO_QUEUE
  340. descriptor.
  341. <legal all>
  342. ignore_ampdu_flag
  343. Field only valid when Update_Ignore_ampdu_flag is set
  344. Field value to be copied over into the RX_REO_QUEUE
  345. descriptor.
  346. <legal all>
  347. ba_window_size
  348. Field only valid when Update_BA_window_size is set
  349. Field value to be copied over into the RX_REO_QUEUE
  350. descriptor.
  351. <legal all>
  352. pn_size
  353. Field only valid when Update_Pn_size is set
  354. Field value to be copied over into the RX_REO_QUEUE
  355. descriptor.
  356. <enum 0 pn_size_24>
  357. <enum 1 pn_size_48>
  358. <enum 2 pn_size_128>
  359. <legal 0-2>
  360. svld
  361. Field only valid when Update_Svld is set
  362. Field value to be copied over into the RX_REO_QUEUE
  363. descriptor.
  364. <legal all>
  365. ssn
  366. Field only valid when Update_SSN is set
  367. Field value to be copied over into the RX_REO_QUEUE
  368. descriptor.
  369. <legal all>
  370. seq_2k_error_detected_flag
  371. Field only valid when Update_Seq_2k_error_detected_flag
  372. is set
  373. Field value to be copied over into the RX_REO_QUEUE
  374. descriptor.
  375. <legal all>
  376. pn_error_detected_flag
  377. Field only valid when Update_pn_error_detected_flag is
  378. set
  379. Field value to be copied over into the RX_REO_QUEUE
  380. descriptor.
  381. <legal all>
  382. pn_valid
  383. Field only valid when Update_pn_valid is set
  384. Field value to be copied over into the RX_REO_QUEUE
  385. descriptor.
  386. <legal all>
  387. flush_from_cache
  388. When set, REO shall, after finishing the execution of
  389. this command, flush the related descriptor from the cache.
  390. <legal all>
  391. reserved_4a
  392. <legal 0>
  393. pn_31_0
  394. Field only valid when Update_Pn is set
  395. Field value to be copied over into the RX_REO_QUEUE
  396. descriptor.
  397. <legal all>
  398. pn_63_32
  399. Field only valid when Update_pn is set
  400. Field value to be copied over into the RX_REO_QUEUE
  401. descriptor.
  402. <legal all>
  403. pn_95_64
  404. Field only valid when Update_pn is set
  405. Field value to be copied over into the RX_REO_QUEUE
  406. descriptor.
  407. <legal all>
  408. pn_127_96
  409. Field only valid when Update_pn is set
  410. Field value to be copied over into the RX_REO_QUEUE
  411. descriptor.
  412. <legal all>
  413. */
  414. /* EXTERNAL REFERENCE : struct uniform_reo_cmd_header cmd_header */
  415. /* Description REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER
  416. Consumer: REO/SW/DEBUG
  417. Producer: SW
  418. This number can be used by SW to track, identify and
  419. link the created commands with the command statusses
  420. <legal all>
  421. */
  422. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER_OFFSET 0x00000000
  423. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER_LSB 0
  424. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_CMD_NUMBER_MASK 0x0000ffff
  425. /* Description REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED
  426. Consumer: REO
  427. Producer: SW
  428. <enum 0 NoStatus> REO does not need to generate a status
  429. TLV for the execution of this command
  430. <enum 1 StatusRequired> REO shall generate a status TLV
  431. for the execution of this command
  432. <legal all>
  433. */
  434. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED_OFFSET 0x00000000
  435. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED_LSB 16
  436. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_REO_STATUS_REQUIRED_MASK 0x00010000
  437. /* Description REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A
  438. <legal 0>
  439. */
  440. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A_OFFSET 0x00000000
  441. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A_LSB 17
  442. #define REO_UPDATE_RX_REO_QUEUE_0_CMD_HEADER_RESERVED_0A_MASK 0xfffe0000
  443. /* Description REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0
  444. Consumer: REO
  445. Producer: SW
  446. Address (lower 32 bits) of the REO queue descriptor
  447. <legal all>
  448. */
  449. #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_OFFSET 0x00000004
  450. #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_LSB 0
  451. #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_MASK 0xffffffff
  452. /* Description REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32
  453. Consumer: REO
  454. Producer: SW
  455. Address (upper 8 bits) of the REO queue descriptor
  456. <legal all>
  457. */
  458. #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_OFFSET 0x00000008
  459. #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_LSB 0
  460. #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_MASK 0x000000ff
  461. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER
  462. Consumer: REO
  463. Producer: SW
  464. When set, receive_queue_number from this command will be
  465. updated in the descriptor.
  466. <legal all>
  467. */
  468. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_OFFSET 0x00000008
  469. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_LSB 8
  470. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_MASK 0x00000100
  471. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD
  472. Consumer: REO
  473. Producer: SW
  474. When clear, REO will NOT update the VLD bit setting. For
  475. this setting, SW MUST set the Flush_from_cache bit in this
  476. command.
  477. When set, VLD from this command will be updated in the
  478. descriptor.
  479. <legal all>
  480. */
  481. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_OFFSET 0x00000008
  482. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_LSB 9
  483. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_MASK 0x00000200
  484. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER
  485. Consumer: REO
  486. Producer: SW
  487. When set, Associated_link_descriptor_counter from this
  488. command will be updated in the descriptor.
  489. <legal all>
  490. */
  491. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x00000008
  492. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 10
  493. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x00000400
  494. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION
  495. Consumer: REO
  496. Producer: SW
  497. When set, Disable_duplicate_detection from this command
  498. will be updated in the descriptor.
  499. <legal all>
  500. */
  501. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_OFFSET 0x00000008
  502. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_LSB 11
  503. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_MASK 0x00000800
  504. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE
  505. Consumer: REO
  506. Producer: SW
  507. When set, Soft_reorder_enable from this command will be
  508. updated in the descriptor.
  509. <legal all>
  510. */
  511. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_OFFSET 0x00000008
  512. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_LSB 12
  513. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_MASK 0x00001000
  514. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC
  515. Consumer: REO
  516. Producer: SW
  517. When set, AC from this command will be updated in the
  518. descriptor.
  519. <legal all>
  520. */
  521. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_OFFSET 0x00000008
  522. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_LSB 13
  523. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_MASK 0x00002000
  524. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR
  525. Consumer: REO
  526. Producer: SW
  527. When set, BAR from this command will be updated in the
  528. descriptor.
  529. <legal all>
  530. */
  531. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_OFFSET 0x00000008
  532. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_LSB 14
  533. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_MASK 0x00004000
  534. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY
  535. Consumer: REO
  536. Producer: SW
  537. When set, RTY from this command will be updated in the
  538. descriptor.
  539. <legal all>
  540. */
  541. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_OFFSET 0x00000008
  542. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_LSB 15
  543. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_MASK 0x00008000
  544. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE
  545. Consumer: REO
  546. Producer: SW
  547. When set, Chk_2k_mode from this command will be updated
  548. in the descriptor.
  549. <legal all>
  550. */
  551. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_OFFSET 0x00000008
  552. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_LSB 16
  553. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_MASK 0x00010000
  554. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE
  555. Consumer: REO
  556. Producer: SW
  557. When set, OOR_Mode from this command will be updated in
  558. the descriptor.
  559. <legal all>
  560. */
  561. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_OFFSET 0x00000008
  562. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_LSB 17
  563. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_MASK 0x00020000
  564. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE
  565. Consumer: REO
  566. Producer: SW
  567. When set, BA_window_size from this command will be
  568. updated in the descriptor.
  569. <legal all>
  570. */
  571. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_OFFSET 0x00000008
  572. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_LSB 18
  573. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_MASK 0x00040000
  574. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED
  575. Consumer: REO
  576. Producer: SW
  577. When set, Pn_check_needed from this command will be
  578. updated in the descriptor.
  579. <legal all>
  580. */
  581. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_OFFSET 0x00000008
  582. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_LSB 19
  583. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_MASK 0x00080000
  584. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN
  585. Consumer: REO
  586. Producer: SW
  587. When set, Pn_shall_be_even from this command will be
  588. updated in the descriptor.
  589. <legal all>
  590. */
  591. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_OFFSET 0x00000008
  592. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_LSB 20
  593. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_MASK 0x00100000
  594. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN
  595. Consumer: REO
  596. Producer: SW
  597. When set, Pn_shall_be_uneven from this command will be
  598. updated in the descriptor.
  599. <legal all>
  600. */
  601. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_OFFSET 0x00000008
  602. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_LSB 21
  603. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_MASK 0x00200000
  604. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE
  605. Consumer: REO
  606. Producer: SW
  607. When set, Pn_handling_enable from this command will be
  608. updated in the descriptor.
  609. <legal all>
  610. */
  611. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_OFFSET 0x00000008
  612. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_LSB 22
  613. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_MASK 0x00400000
  614. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE
  615. Consumer: REO
  616. Producer: SW
  617. When set, Pn_size from this command will be updated in
  618. the descriptor.
  619. <legal all>
  620. */
  621. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_OFFSET 0x00000008
  622. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_LSB 23
  623. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_MASK 0x00800000
  624. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG
  625. Consumer: REO
  626. Producer: SW
  627. When set, Ignore_ampdu_flag from this command will be
  628. updated in the descriptor.
  629. <legal all>
  630. */
  631. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_OFFSET 0x00000008
  632. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_LSB 24
  633. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_MASK 0x01000000
  634. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD
  635. Consumer: REO
  636. Producer: SW
  637. When set, Svld from this command will be updated in the
  638. descriptor.
  639. <legal all>
  640. */
  641. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_OFFSET 0x00000008
  642. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_LSB 25
  643. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_MASK 0x02000000
  644. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN
  645. Consumer: REO
  646. Producer: SW
  647. When set, SSN from this command will be updated in the
  648. descriptor.
  649. <legal all>
  650. */
  651. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_OFFSET 0x00000008
  652. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_LSB 26
  653. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_MASK 0x04000000
  654. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG
  655. Consumer: REO
  656. Producer: SW
  657. When set, Seq_2k_error_detected_flag from this command
  658. will be updated in the descriptor.
  659. <legal all>
  660. */
  661. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET 0x00000008
  662. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_LSB 27
  663. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_MASK 0x08000000
  664. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG
  665. Consumer: REO
  666. Producer: SW
  667. When set, pn_error_detected_flag from this command will
  668. be updated in the descriptor.
  669. <legal all>
  670. */
  671. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_OFFSET 0x00000008
  672. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_LSB 28
  673. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_MASK 0x10000000
  674. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID
  675. Consumer: REO
  676. Producer: SW
  677. When set, pn_valid from this command will be updated in
  678. the descriptor.
  679. <legal all>
  680. */
  681. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_OFFSET 0x00000008
  682. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_LSB 29
  683. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_MASK 0x20000000
  684. /* Description REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN
  685. Consumer: REO
  686. Producer: SW
  687. When set, all pn_... fields from this command will be
  688. updated in the descriptor.
  689. <legal all>
  690. */
  691. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_OFFSET 0x00000008
  692. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_LSB 30
  693. #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_MASK 0x40000000
  694. /* Description REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS
  695. Consumer: REO
  696. Producer: SW
  697. When set, REO will clear (=> set to 0) the following
  698. stat counters in the REO_QUEUE_STRUCT
  699. Last_rx_enqueue_TimeStamp
  700. Last_rx_dequeue_Timestamp
  701. Rx_bitmap (not a counter, but bitmap is cleared)
  702. Timeout_count
  703. Forward_due_to_bar_count
  704. Duplicate_count
  705. Frames_in_order_count
  706. BAR_received_count
  707. MPDU_Frames_processed_count
  708. MSDU_Frames_processed_count
  709. Total_processed_byte_count
  710. Late_receive_MPDU_count
  711. window_jump_2k
  712. Hole_count
  713. <legal all>
  714. */
  715. #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_OFFSET 0x00000008
  716. #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_LSB 31
  717. #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_MASK 0x80000000
  718. /* Description REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER
  719. Field value to be copied over into the RX_REO_QUEUE
  720. descriptor.
  721. <legal all>
  722. */
  723. #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_OFFSET 0x0000000c
  724. #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_LSB 0
  725. #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_MASK 0x0000ffff
  726. /* Description REO_UPDATE_RX_REO_QUEUE_3_VLD
  727. Field only valid when Update_VLD is set
  728. For Update_VLD set and VLD clear, SW MUST set the
  729. Flush_from_cache bit in this command.
  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_