rx_reo_queue_ext.h 76 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794
  1. /*
  2. * Copyright (c) 2019 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. //
  19. // DO NOT EDIT! This file is automatically generated
  20. // These definitions are tied to a particular hardware layout
  21. #ifndef _RX_REO_QUEUE_EXT_H_
  22. #define _RX_REO_QUEUE_EXT_H_
  23. #if !defined(__ASSEMBLER__)
  24. #endif
  25. #include "uniform_descriptor_header.h"
  26. #include "rx_mpdu_link_ptr.h"
  27. // ################ START SUMMARY #################
  28. //
  29. // Dword Fields
  30. // 0 struct uniform_descriptor_header descriptor_header;
  31. // 1 reserved_1a[31:0]
  32. // 2-3 struct rx_mpdu_link_ptr mpdu_link_pointer_0;
  33. // 4-5 struct rx_mpdu_link_ptr mpdu_link_pointer_1;
  34. // 6-7 struct rx_mpdu_link_ptr mpdu_link_pointer_2;
  35. // 8-9 struct rx_mpdu_link_ptr mpdu_link_pointer_3;
  36. // 10-11 struct rx_mpdu_link_ptr mpdu_link_pointer_4;
  37. // 12-13 struct rx_mpdu_link_ptr mpdu_link_pointer_5;
  38. // 14-15 struct rx_mpdu_link_ptr mpdu_link_pointer_6;
  39. // 16-17 struct rx_mpdu_link_ptr mpdu_link_pointer_7;
  40. // 18-19 struct rx_mpdu_link_ptr mpdu_link_pointer_8;
  41. // 20-21 struct rx_mpdu_link_ptr mpdu_link_pointer_9;
  42. // 22-23 struct rx_mpdu_link_ptr mpdu_link_pointer_10;
  43. // 24-25 struct rx_mpdu_link_ptr mpdu_link_pointer_11;
  44. // 26-27 struct rx_mpdu_link_ptr mpdu_link_pointer_12;
  45. // 28-29 struct rx_mpdu_link_ptr mpdu_link_pointer_13;
  46. // 30-31 struct rx_mpdu_link_ptr mpdu_link_pointer_14;
  47. //
  48. // ################ END SUMMARY #################
  49. #define NUM_OF_DWORDS_RX_REO_QUEUE_EXT 32
  50. struct rx_reo_queue_ext {
  51. struct uniform_descriptor_header descriptor_header;
  52. uint32_t reserved_1a : 32; //[31:0]
  53. struct rx_mpdu_link_ptr mpdu_link_pointer_0;
  54. struct rx_mpdu_link_ptr mpdu_link_pointer_1;
  55. struct rx_mpdu_link_ptr mpdu_link_pointer_2;
  56. struct rx_mpdu_link_ptr mpdu_link_pointer_3;
  57. struct rx_mpdu_link_ptr mpdu_link_pointer_4;
  58. struct rx_mpdu_link_ptr mpdu_link_pointer_5;
  59. struct rx_mpdu_link_ptr mpdu_link_pointer_6;
  60. struct rx_mpdu_link_ptr mpdu_link_pointer_7;
  61. struct rx_mpdu_link_ptr mpdu_link_pointer_8;
  62. struct rx_mpdu_link_ptr mpdu_link_pointer_9;
  63. struct rx_mpdu_link_ptr mpdu_link_pointer_10;
  64. struct rx_mpdu_link_ptr mpdu_link_pointer_11;
  65. struct rx_mpdu_link_ptr mpdu_link_pointer_12;
  66. struct rx_mpdu_link_ptr mpdu_link_pointer_13;
  67. struct rx_mpdu_link_ptr mpdu_link_pointer_14;
  68. };
  69. /*
  70. struct uniform_descriptor_header descriptor_header
  71. Details about which module owns this struct.
  72. Note that sub field Buffer_type shall be set to
  73. Receive_REO_queue_ext_descriptor
  74. reserved_1a
  75. <legal 0>
  76. struct rx_mpdu_link_ptr mpdu_link_pointer_0
  77. Consumer: REO
  78. Producer: REO
  79. Pointer to the next MPDU_link descriptor in the MPDU
  80. queue
  81. struct rx_mpdu_link_ptr mpdu_link_pointer_1
  82. Consumer: REO
  83. Producer: REO
  84. Pointer to the next MPDU_link descriptor in the MPDU
  85. queue
  86. struct rx_mpdu_link_ptr mpdu_link_pointer_2
  87. Consumer: REO
  88. Producer: REO
  89. Pointer to the next MPDU_link descriptor in the MPDU
  90. queue
  91. struct rx_mpdu_link_ptr mpdu_link_pointer_3
  92. Consumer: REO
  93. Producer: REO
  94. Pointer to the next MPDU_link descriptor in the MPDU
  95. queue
  96. struct rx_mpdu_link_ptr mpdu_link_pointer_4
  97. Consumer: REO
  98. Producer: REO
  99. Pointer to the next MPDU_link descriptor in the MPDU
  100. queue
  101. struct rx_mpdu_link_ptr mpdu_link_pointer_5
  102. Consumer: REO
  103. Producer: REO
  104. Pointer to the next MPDU_link descriptor in the MPDU
  105. queue
  106. struct rx_mpdu_link_ptr mpdu_link_pointer_6
  107. Consumer: REO
  108. Producer: REO
  109. Pointer to the next MPDU_link descriptor in the MPDU
  110. queue
  111. struct rx_mpdu_link_ptr mpdu_link_pointer_7
  112. Consumer: REO
  113. Producer: REO
  114. Pointer to the next MPDU_link descriptor in the MPDU
  115. queue
  116. struct rx_mpdu_link_ptr mpdu_link_pointer_8
  117. Consumer: REO
  118. Producer: REO
  119. Pointer to the next MPDU_link descriptor in the MPDU
  120. queue
  121. struct rx_mpdu_link_ptr mpdu_link_pointer_9
  122. Consumer: REO
  123. Producer: REO
  124. Pointer to the next MPDU_link descriptor in the MPDU
  125. queue
  126. struct rx_mpdu_link_ptr mpdu_link_pointer_10
  127. Consumer: REO
  128. Producer: REO
  129. Pointer to the next MPDU_link descriptor in the MPDU
  130. queue
  131. struct rx_mpdu_link_ptr mpdu_link_pointer_11
  132. Consumer: REO
  133. Producer: REO
  134. Pointer to the next MPDU_link descriptor in the MPDU
  135. queue
  136. struct rx_mpdu_link_ptr mpdu_link_pointer_12
  137. Consumer: REO
  138. Producer: REO
  139. Pointer to the next MPDU_link descriptor in the MPDU
  140. queue
  141. struct rx_mpdu_link_ptr mpdu_link_pointer_13
  142. Consumer: REO
  143. Producer: REO
  144. Pointer to the next MPDU_link descriptor in the MPDU
  145. queue
  146. struct rx_mpdu_link_ptr mpdu_link_pointer_14
  147. Consumer: REO
  148. Producer: REO
  149. Pointer to the next MPDU_link descriptor in the MPDU
  150. queue
  151. */
  152. /* EXTERNAL REFERENCE : struct uniform_descriptor_header descriptor_header */
  153. /* Description RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_OWNER
  154. Consumer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
  155. Producer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
  156. The owner of this data structure:
  157. <enum 0 WBM_owned> Buffer Manager currently owns this
  158. data structure.
  159. <enum 1 SW_OR_FW_owned> Software of FW currently owns
  160. this data structure.
  161. <enum 2 TQM_owned> Transmit Queue Manager currently owns
  162. this data structure.
  163. <enum 3 RXDMA_owned> Receive DMA currently owns this
  164. data structure.
  165. <enum 4 REO_owned> Reorder currently owns this data
  166. structure.
  167. <enum 5 SWITCH_owned> SWITCH currently owns this data
  168. structure.
  169. <legal 0-5>
  170. */
  171. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_OWNER_OFFSET 0x00000000
  172. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_OWNER_LSB 0
  173. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_OWNER_MASK 0x0000000f
  174. /* Description RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_BUFFER_TYPE
  175. Consumer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
  176. Producer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
  177. Field describing what contents format is of this
  178. descriptor
  179. <enum 0 Transmit_MSDU_Link_descriptor >
  180. <enum 1 Transmit_MPDU_Link_descriptor >
  181. <enum 2 Transmit_MPDU_Queue_head_descriptor>
  182. <enum 3 Transmit_MPDU_Queue_ext_descriptor>
  183. <enum 4 Transmit_flow_descriptor>
  184. <enum 5 Transmit_buffer > NOT TO BE USED:
  185. <enum 6 Receive_MSDU_Link_descriptor >
  186. <enum 7 Receive_MPDU_Link_descriptor >
  187. <enum 8 Receive_REO_queue_descriptor >
  188. <enum 9 Receive_REO_queue_ext_descriptor >
  189. <enum 10 Receive_buffer >
  190. <enum 11 Idle_link_list_entry>
  191. <legal 0-11>
  192. */
  193. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_BUFFER_TYPE_OFFSET 0x00000000
  194. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_BUFFER_TYPE_LSB 4
  195. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_BUFFER_TYPE_MASK 0x000000f0
  196. /* Description RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_RESERVED_0A
  197. <legal 0>
  198. */
  199. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_RESERVED_0A_OFFSET 0x00000000
  200. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_RESERVED_0A_LSB 8
  201. #define RX_REO_QUEUE_EXT_0_DESCRIPTOR_HEADER_RESERVED_0A_MASK 0xffffff00
  202. /* Description RX_REO_QUEUE_EXT_1_RESERVED_1A
  203. <legal 0>
  204. */
  205. #define RX_REO_QUEUE_EXT_1_RESERVED_1A_OFFSET 0x00000004
  206. #define RX_REO_QUEUE_EXT_1_RESERVED_1A_LSB 0
  207. #define RX_REO_QUEUE_EXT_1_RESERVED_1A_MASK 0xffffffff
  208. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_0 */
  209. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  210. /* Description RX_REO_QUEUE_EXT_2_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  211. Address (lower 32 bits) of the MSDU buffer OR
  212. MSDU_EXTENSION descriptor OR Link Descriptor
  213. In case of 'NULL' pointer, this field is set to 0
  214. <legal all>
  215. */
  216. #define RX_REO_QUEUE_EXT_2_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000008
  217. #define RX_REO_QUEUE_EXT_2_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  218. #define RX_REO_QUEUE_EXT_2_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  219. /* Description RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  220. Address (upper 8 bits) of the MSDU buffer OR
  221. MSDU_EXTENSION descriptor OR Link Descriptor
  222. In case of 'NULL' pointer, this field is set to 0
  223. <legal all>
  224. */
  225. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000000c
  226. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  227. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  228. /* Description RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  229. Consumer: WBM
  230. Producer: SW/FW
  231. In case of 'NULL' pointer, this field is set to 0
  232. Indicates to which buffer manager the buffer OR
  233. MSDU_EXTENSION descriptor OR link descriptor that is being
  234. pointed to shall be returned after the frame has been
  235. processed. It is used by WBM for routing purposes.
  236. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  237. to the WMB buffer idle list
  238. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  239. returned to the WMB idle link descriptor idle list
  240. <enum 2 FW_BM> This buffer shall be returned to the FW
  241. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  242. ring 0
  243. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  244. ring 1
  245. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  246. ring 2
  247. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  248. ring 3
  249. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  250. ring 4
  251. <legal all>
  252. */
  253. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000000c
  254. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  255. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  256. /* Description RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  257. Cookie field exclusively used by SW.
  258. In case of 'NULL' pointer, this field is set to 0
  259. HW ignores the contents, accept that it passes the
  260. programmed value on to other descriptors together with the
  261. physical address
  262. Field can be used by SW to for example associate the
  263. buffers physical address with the virtual address
  264. The bit definitions as used by SW are within SW HLD
  265. specification
  266. NOTE:
  267. The three most significant bits can have a special
  268. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  269. STRUCT, and field transmit_bw_restriction is set
  270. In case of NON punctured transmission:
  271. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  272. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  273. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  274. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  275. In case of punctured transmission:
  276. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  277. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  278. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  279. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  280. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  281. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  282. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  283. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  284. Note: a punctured transmission is indicated by the
  285. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  286. TLV
  287. <legal all>
  288. */
  289. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000000c
  290. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  291. #define RX_REO_QUEUE_EXT_3_MPDU_LINK_POINTER_0_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  292. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_1 */
  293. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  294. /* Description RX_REO_QUEUE_EXT_4_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  295. Address (lower 32 bits) of the MSDU buffer OR
  296. MSDU_EXTENSION descriptor OR Link Descriptor
  297. In case of 'NULL' pointer, this field is set to 0
  298. <legal all>
  299. */
  300. #define RX_REO_QUEUE_EXT_4_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000010
  301. #define RX_REO_QUEUE_EXT_4_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  302. #define RX_REO_QUEUE_EXT_4_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  303. /* Description RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  304. Address (upper 8 bits) of the MSDU buffer OR
  305. MSDU_EXTENSION descriptor OR Link Descriptor
  306. In case of 'NULL' pointer, this field is set to 0
  307. <legal all>
  308. */
  309. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000014
  310. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  311. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  312. /* Description RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  313. Consumer: WBM
  314. Producer: SW/FW
  315. In case of 'NULL' pointer, this field is set to 0
  316. Indicates to which buffer manager the buffer OR
  317. MSDU_EXTENSION descriptor OR link descriptor that is being
  318. pointed to shall be returned after the frame has been
  319. processed. It is used by WBM for routing purposes.
  320. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  321. to the WMB buffer idle list
  322. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  323. returned to the WMB idle link descriptor idle list
  324. <enum 2 FW_BM> This buffer shall be returned to the FW
  325. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  326. ring 0
  327. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  328. ring 1
  329. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  330. ring 2
  331. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  332. ring 3
  333. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  334. ring 4
  335. <legal all>
  336. */
  337. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000014
  338. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  339. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  340. /* Description RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  341. Cookie field exclusively used by SW.
  342. In case of 'NULL' pointer, this field is set to 0
  343. HW ignores the contents, accept that it passes the
  344. programmed value on to other descriptors together with the
  345. physical address
  346. Field can be used by SW to for example associate the
  347. buffers physical address with the virtual address
  348. The bit definitions as used by SW are within SW HLD
  349. specification
  350. NOTE:
  351. The three most significant bits can have a special
  352. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  353. STRUCT, and field transmit_bw_restriction is set
  354. In case of NON punctured transmission:
  355. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  356. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  357. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  358. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  359. In case of punctured transmission:
  360. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  361. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  362. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  363. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  364. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  365. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  366. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  367. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  368. Note: a punctured transmission is indicated by the
  369. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  370. TLV
  371. <legal all>
  372. */
  373. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000014
  374. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  375. #define RX_REO_QUEUE_EXT_5_MPDU_LINK_POINTER_1_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  376. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_2 */
  377. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  378. /* Description RX_REO_QUEUE_EXT_6_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  379. Address (lower 32 bits) of the MSDU buffer OR
  380. MSDU_EXTENSION descriptor OR Link Descriptor
  381. In case of 'NULL' pointer, this field is set to 0
  382. <legal all>
  383. */
  384. #define RX_REO_QUEUE_EXT_6_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000018
  385. #define RX_REO_QUEUE_EXT_6_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  386. #define RX_REO_QUEUE_EXT_6_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  387. /* Description RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  388. Address (upper 8 bits) of the MSDU buffer OR
  389. MSDU_EXTENSION descriptor OR Link Descriptor
  390. In case of 'NULL' pointer, this field is set to 0
  391. <legal all>
  392. */
  393. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000001c
  394. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  395. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  396. /* Description RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  397. Consumer: WBM
  398. Producer: SW/FW
  399. In case of 'NULL' pointer, this field is set to 0
  400. Indicates to which buffer manager the buffer OR
  401. MSDU_EXTENSION descriptor OR link descriptor that is being
  402. pointed to shall be returned after the frame has been
  403. processed. It is used by WBM for routing purposes.
  404. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  405. to the WMB buffer idle list
  406. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  407. returned to the WMB idle link descriptor idle list
  408. <enum 2 FW_BM> This buffer shall be returned to the FW
  409. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  410. ring 0
  411. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  412. ring 1
  413. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  414. ring 2
  415. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  416. ring 3
  417. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  418. ring 4
  419. <legal all>
  420. */
  421. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000001c
  422. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  423. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  424. /* Description RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  425. Cookie field exclusively used by SW.
  426. In case of 'NULL' pointer, this field is set to 0
  427. HW ignores the contents, accept that it passes the
  428. programmed value on to other descriptors together with the
  429. physical address
  430. Field can be used by SW to for example associate the
  431. buffers physical address with the virtual address
  432. The bit definitions as used by SW are within SW HLD
  433. specification
  434. NOTE:
  435. The three most significant bits can have a special
  436. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  437. STRUCT, and field transmit_bw_restriction is set
  438. In case of NON punctured transmission:
  439. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  440. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  441. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  442. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  443. In case of punctured transmission:
  444. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  445. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  446. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  447. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  448. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  449. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  450. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  451. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  452. Note: a punctured transmission is indicated by the
  453. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  454. TLV
  455. <legal all>
  456. */
  457. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000001c
  458. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  459. #define RX_REO_QUEUE_EXT_7_MPDU_LINK_POINTER_2_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  460. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_3 */
  461. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  462. /* Description RX_REO_QUEUE_EXT_8_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  463. Address (lower 32 bits) of the MSDU buffer OR
  464. MSDU_EXTENSION descriptor OR Link Descriptor
  465. In case of 'NULL' pointer, this field is set to 0
  466. <legal all>
  467. */
  468. #define RX_REO_QUEUE_EXT_8_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000020
  469. #define RX_REO_QUEUE_EXT_8_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  470. #define RX_REO_QUEUE_EXT_8_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  471. /* Description RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  472. Address (upper 8 bits) of the MSDU buffer OR
  473. MSDU_EXTENSION descriptor OR Link Descriptor
  474. In case of 'NULL' pointer, this field is set to 0
  475. <legal all>
  476. */
  477. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000024
  478. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  479. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  480. /* Description RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  481. Consumer: WBM
  482. Producer: SW/FW
  483. In case of 'NULL' pointer, this field is set to 0
  484. Indicates to which buffer manager the buffer OR
  485. MSDU_EXTENSION descriptor OR link descriptor that is being
  486. pointed to shall be returned after the frame has been
  487. processed. It is used by WBM for routing purposes.
  488. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  489. to the WMB buffer idle list
  490. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  491. returned to the WMB idle link descriptor idle list
  492. <enum 2 FW_BM> This buffer shall be returned to the FW
  493. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  494. ring 0
  495. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  496. ring 1
  497. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  498. ring 2
  499. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  500. ring 3
  501. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  502. ring 4
  503. <legal all>
  504. */
  505. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000024
  506. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  507. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  508. /* Description RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  509. Cookie field exclusively used by SW.
  510. In case of 'NULL' pointer, this field is set to 0
  511. HW ignores the contents, accept that it passes the
  512. programmed value on to other descriptors together with the
  513. physical address
  514. Field can be used by SW to for example associate the
  515. buffers physical address with the virtual address
  516. The bit definitions as used by SW are within SW HLD
  517. specification
  518. NOTE:
  519. The three most significant bits can have a special
  520. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  521. STRUCT, and field transmit_bw_restriction is set
  522. In case of NON punctured transmission:
  523. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  524. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  525. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  526. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  527. In case of punctured transmission:
  528. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  529. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  530. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  531. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  532. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  533. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  534. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  535. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  536. Note: a punctured transmission is indicated by the
  537. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  538. TLV
  539. <legal all>
  540. */
  541. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000024
  542. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  543. #define RX_REO_QUEUE_EXT_9_MPDU_LINK_POINTER_3_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  544. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_4 */
  545. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  546. /* Description RX_REO_QUEUE_EXT_10_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  547. Address (lower 32 bits) of the MSDU buffer OR
  548. MSDU_EXTENSION descriptor OR Link Descriptor
  549. In case of 'NULL' pointer, this field is set to 0
  550. <legal all>
  551. */
  552. #define RX_REO_QUEUE_EXT_10_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000028
  553. #define RX_REO_QUEUE_EXT_10_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  554. #define RX_REO_QUEUE_EXT_10_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  555. /* Description RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  556. Address (upper 8 bits) of the MSDU buffer OR
  557. MSDU_EXTENSION descriptor OR Link Descriptor
  558. In case of 'NULL' pointer, this field is set to 0
  559. <legal all>
  560. */
  561. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000002c
  562. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  563. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  564. /* Description RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  565. Consumer: WBM
  566. Producer: SW/FW
  567. In case of 'NULL' pointer, this field is set to 0
  568. Indicates to which buffer manager the buffer OR
  569. MSDU_EXTENSION descriptor OR link descriptor that is being
  570. pointed to shall be returned after the frame has been
  571. processed. It is used by WBM for routing purposes.
  572. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  573. to the WMB buffer idle list
  574. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  575. returned to the WMB idle link descriptor idle list
  576. <enum 2 FW_BM> This buffer shall be returned to the FW
  577. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  578. ring 0
  579. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  580. ring 1
  581. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  582. ring 2
  583. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  584. ring 3
  585. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  586. ring 4
  587. <legal all>
  588. */
  589. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000002c
  590. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  591. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  592. /* Description RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  593. Cookie field exclusively used by SW.
  594. In case of 'NULL' pointer, this field is set to 0
  595. HW ignores the contents, accept that it passes the
  596. programmed value on to other descriptors together with the
  597. physical address
  598. Field can be used by SW to for example associate the
  599. buffers physical address with the virtual address
  600. The bit definitions as used by SW are within SW HLD
  601. specification
  602. NOTE:
  603. The three most significant bits can have a special
  604. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  605. STRUCT, and field transmit_bw_restriction is set
  606. In case of NON punctured transmission:
  607. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  608. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  609. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  610. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  611. In case of punctured transmission:
  612. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  613. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  614. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  615. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  616. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  617. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  618. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  619. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  620. Note: a punctured transmission is indicated by the
  621. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  622. TLV
  623. <legal all>
  624. */
  625. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000002c
  626. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  627. #define RX_REO_QUEUE_EXT_11_MPDU_LINK_POINTER_4_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  628. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_5 */
  629. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  630. /* Description RX_REO_QUEUE_EXT_12_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  631. Address (lower 32 bits) of the MSDU buffer OR
  632. MSDU_EXTENSION descriptor OR Link Descriptor
  633. In case of 'NULL' pointer, this field is set to 0
  634. <legal all>
  635. */
  636. #define RX_REO_QUEUE_EXT_12_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000030
  637. #define RX_REO_QUEUE_EXT_12_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  638. #define RX_REO_QUEUE_EXT_12_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  639. /* Description RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  640. Address (upper 8 bits) of the MSDU buffer OR
  641. MSDU_EXTENSION descriptor OR Link Descriptor
  642. In case of 'NULL' pointer, this field is set to 0
  643. <legal all>
  644. */
  645. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000034
  646. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  647. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  648. /* Description RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  649. Consumer: WBM
  650. Producer: SW/FW
  651. In case of 'NULL' pointer, this field is set to 0
  652. Indicates to which buffer manager the buffer OR
  653. MSDU_EXTENSION descriptor OR link descriptor that is being
  654. pointed to shall be returned after the frame has been
  655. processed. It is used by WBM for routing purposes.
  656. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  657. to the WMB buffer idle list
  658. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  659. returned to the WMB idle link descriptor idle list
  660. <enum 2 FW_BM> This buffer shall be returned to the FW
  661. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  662. ring 0
  663. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  664. ring 1
  665. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  666. ring 2
  667. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  668. ring 3
  669. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  670. ring 4
  671. <legal all>
  672. */
  673. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000034
  674. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  675. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  676. /* Description RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  677. Cookie field exclusively used by SW.
  678. In case of 'NULL' pointer, this field is set to 0
  679. HW ignores the contents, accept that it passes the
  680. programmed value on to other descriptors together with the
  681. physical address
  682. Field can be used by SW to for example associate the
  683. buffers physical address with the virtual address
  684. The bit definitions as used by SW are within SW HLD
  685. specification
  686. NOTE:
  687. The three most significant bits can have a special
  688. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  689. STRUCT, and field transmit_bw_restriction is set
  690. In case of NON punctured transmission:
  691. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  692. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  693. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  694. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  695. In case of punctured transmission:
  696. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  697. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  698. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  699. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  700. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  701. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  702. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  703. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  704. Note: a punctured transmission is indicated by the
  705. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  706. TLV
  707. <legal all>
  708. */
  709. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000034
  710. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  711. #define RX_REO_QUEUE_EXT_13_MPDU_LINK_POINTER_5_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  712. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_6 */
  713. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  714. /* Description RX_REO_QUEUE_EXT_14_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  715. Address (lower 32 bits) of the MSDU buffer OR
  716. MSDU_EXTENSION descriptor OR Link Descriptor
  717. In case of 'NULL' pointer, this field is set to 0
  718. <legal all>
  719. */
  720. #define RX_REO_QUEUE_EXT_14_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000038
  721. #define RX_REO_QUEUE_EXT_14_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  722. #define RX_REO_QUEUE_EXT_14_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  723. /* Description RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  724. Address (upper 8 bits) of the MSDU buffer OR
  725. MSDU_EXTENSION descriptor OR Link Descriptor
  726. In case of 'NULL' pointer, this field is set to 0
  727. <legal all>
  728. */
  729. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000003c
  730. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  731. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  732. /* Description RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  733. Consumer: WBM
  734. Producer: SW/FW
  735. In case of 'NULL' pointer, this field is set to 0
  736. Indicates to which buffer manager the buffer OR
  737. MSDU_EXTENSION descriptor OR link descriptor that is being
  738. pointed to shall be returned after the frame has been
  739. processed. It is used by WBM for routing purposes.
  740. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  741. to the WMB buffer idle list
  742. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  743. returned to the WMB idle link descriptor idle list
  744. <enum 2 FW_BM> This buffer shall be returned to the FW
  745. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  746. ring 0
  747. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  748. ring 1
  749. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  750. ring 2
  751. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  752. ring 3
  753. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  754. ring 4
  755. <legal all>
  756. */
  757. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000003c
  758. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  759. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  760. /* Description RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  761. Cookie field exclusively used by SW.
  762. In case of 'NULL' pointer, this field is set to 0
  763. HW ignores the contents, accept that it passes the
  764. programmed value on to other descriptors together with the
  765. physical address
  766. Field can be used by SW to for example associate the
  767. buffers physical address with the virtual address
  768. The bit definitions as used by SW are within SW HLD
  769. specification
  770. NOTE:
  771. The three most significant bits can have a special
  772. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  773. STRUCT, and field transmit_bw_restriction is set
  774. In case of NON punctured transmission:
  775. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  776. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  777. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  778. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  779. In case of punctured transmission:
  780. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  781. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  782. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  783. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  784. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  785. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  786. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  787. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  788. Note: a punctured transmission is indicated by the
  789. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  790. TLV
  791. <legal all>
  792. */
  793. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000003c
  794. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  795. #define RX_REO_QUEUE_EXT_15_MPDU_LINK_POINTER_6_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  796. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_7 */
  797. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  798. /* Description RX_REO_QUEUE_EXT_16_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  799. Address (lower 32 bits) of the MSDU buffer OR
  800. MSDU_EXTENSION descriptor OR Link Descriptor
  801. In case of 'NULL' pointer, this field is set to 0
  802. <legal all>
  803. */
  804. #define RX_REO_QUEUE_EXT_16_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000040
  805. #define RX_REO_QUEUE_EXT_16_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  806. #define RX_REO_QUEUE_EXT_16_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  807. /* Description RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  808. Address (upper 8 bits) of the MSDU buffer OR
  809. MSDU_EXTENSION descriptor OR Link Descriptor
  810. In case of 'NULL' pointer, this field is set to 0
  811. <legal all>
  812. */
  813. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000044
  814. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  815. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  816. /* Description RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  817. Consumer: WBM
  818. Producer: SW/FW
  819. In case of 'NULL' pointer, this field is set to 0
  820. Indicates to which buffer manager the buffer OR
  821. MSDU_EXTENSION descriptor OR link descriptor that is being
  822. pointed to shall be returned after the frame has been
  823. processed. It is used by WBM for routing purposes.
  824. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  825. to the WMB buffer idle list
  826. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  827. returned to the WMB idle link descriptor idle list
  828. <enum 2 FW_BM> This buffer shall be returned to the FW
  829. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  830. ring 0
  831. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  832. ring 1
  833. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  834. ring 2
  835. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  836. ring 3
  837. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  838. ring 4
  839. <legal all>
  840. */
  841. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000044
  842. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  843. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  844. /* Description RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  845. Cookie field exclusively used by SW.
  846. In case of 'NULL' pointer, this field is set to 0
  847. HW ignores the contents, accept that it passes the
  848. programmed value on to other descriptors together with the
  849. physical address
  850. Field can be used by SW to for example associate the
  851. buffers physical address with the virtual address
  852. The bit definitions as used by SW are within SW HLD
  853. specification
  854. NOTE:
  855. The three most significant bits can have a special
  856. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  857. STRUCT, and field transmit_bw_restriction is set
  858. In case of NON punctured transmission:
  859. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  860. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  861. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  862. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  863. In case of punctured transmission:
  864. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  865. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  866. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  867. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  868. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  869. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  870. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  871. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  872. Note: a punctured transmission is indicated by the
  873. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  874. TLV
  875. <legal all>
  876. */
  877. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000044
  878. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  879. #define RX_REO_QUEUE_EXT_17_MPDU_LINK_POINTER_7_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  880. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_8 */
  881. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  882. /* Description RX_REO_QUEUE_EXT_18_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  883. Address (lower 32 bits) of the MSDU buffer OR
  884. MSDU_EXTENSION descriptor OR Link Descriptor
  885. In case of 'NULL' pointer, this field is set to 0
  886. <legal all>
  887. */
  888. #define RX_REO_QUEUE_EXT_18_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000048
  889. #define RX_REO_QUEUE_EXT_18_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  890. #define RX_REO_QUEUE_EXT_18_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  891. /* Description RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  892. Address (upper 8 bits) of the MSDU buffer OR
  893. MSDU_EXTENSION descriptor OR Link Descriptor
  894. In case of 'NULL' pointer, this field is set to 0
  895. <legal all>
  896. */
  897. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000004c
  898. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  899. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  900. /* Description RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  901. Consumer: WBM
  902. Producer: SW/FW
  903. In case of 'NULL' pointer, this field is set to 0
  904. Indicates to which buffer manager the buffer OR
  905. MSDU_EXTENSION descriptor OR link descriptor that is being
  906. pointed to shall be returned after the frame has been
  907. processed. It is used by WBM for routing purposes.
  908. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  909. to the WMB buffer idle list
  910. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  911. returned to the WMB idle link descriptor idle list
  912. <enum 2 FW_BM> This buffer shall be returned to the FW
  913. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  914. ring 0
  915. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  916. ring 1
  917. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  918. ring 2
  919. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  920. ring 3
  921. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  922. ring 4
  923. <legal all>
  924. */
  925. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000004c
  926. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  927. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  928. /* Description RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  929. Cookie field exclusively used by SW.
  930. In case of 'NULL' pointer, this field is set to 0
  931. HW ignores the contents, accept that it passes the
  932. programmed value on to other descriptors together with the
  933. physical address
  934. Field can be used by SW to for example associate the
  935. buffers physical address with the virtual address
  936. The bit definitions as used by SW are within SW HLD
  937. specification
  938. NOTE:
  939. The three most significant bits can have a special
  940. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  941. STRUCT, and field transmit_bw_restriction is set
  942. In case of NON punctured transmission:
  943. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  944. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  945. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  946. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  947. In case of punctured transmission:
  948. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  949. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  950. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  951. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  952. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  953. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  954. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  955. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  956. Note: a punctured transmission is indicated by the
  957. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  958. TLV
  959. <legal all>
  960. */
  961. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000004c
  962. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  963. #define RX_REO_QUEUE_EXT_19_MPDU_LINK_POINTER_8_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  964. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_9 */
  965. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  966. /* Description RX_REO_QUEUE_EXT_20_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  967. Address (lower 32 bits) of the MSDU buffer OR
  968. MSDU_EXTENSION descriptor OR Link Descriptor
  969. In case of 'NULL' pointer, this field is set to 0
  970. <legal all>
  971. */
  972. #define RX_REO_QUEUE_EXT_20_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000050
  973. #define RX_REO_QUEUE_EXT_20_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  974. #define RX_REO_QUEUE_EXT_20_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  975. /* Description RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  976. Address (upper 8 bits) of the MSDU buffer OR
  977. MSDU_EXTENSION descriptor OR Link Descriptor
  978. In case of 'NULL' pointer, this field is set to 0
  979. <legal all>
  980. */
  981. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000054
  982. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  983. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  984. /* Description RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  985. Consumer: WBM
  986. Producer: SW/FW
  987. In case of 'NULL' pointer, this field is set to 0
  988. Indicates to which buffer manager the buffer OR
  989. MSDU_EXTENSION descriptor OR link descriptor that is being
  990. pointed to shall be returned after the frame has been
  991. processed. It is used by WBM for routing purposes.
  992. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  993. to the WMB buffer idle list
  994. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  995. returned to the WMB idle link descriptor idle list
  996. <enum 2 FW_BM> This buffer shall be returned to the FW
  997. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  998. ring 0
  999. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  1000. ring 1
  1001. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  1002. ring 2
  1003. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  1004. ring 3
  1005. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  1006. ring 4
  1007. <legal all>
  1008. */
  1009. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000054
  1010. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  1011. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  1012. /* Description RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  1013. Cookie field exclusively used by SW.
  1014. In case of 'NULL' pointer, this field is set to 0
  1015. HW ignores the contents, accept that it passes the
  1016. programmed value on to other descriptors together with the
  1017. physical address
  1018. Field can be used by SW to for example associate the
  1019. buffers physical address with the virtual address
  1020. The bit definitions as used by SW are within SW HLD
  1021. specification
  1022. NOTE:
  1023. The three most significant bits can have a special
  1024. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  1025. STRUCT, and field transmit_bw_restriction is set
  1026. In case of NON punctured transmission:
  1027. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  1028. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  1029. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  1030. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  1031. In case of punctured transmission:
  1032. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  1033. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  1034. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  1035. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  1036. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  1037. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  1038. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  1039. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  1040. Note: a punctured transmission is indicated by the
  1041. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  1042. TLV
  1043. <legal all>
  1044. */
  1045. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000054
  1046. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  1047. #define RX_REO_QUEUE_EXT_21_MPDU_LINK_POINTER_9_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  1048. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_10 */
  1049. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  1050. /* Description RX_REO_QUEUE_EXT_22_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  1051. Address (lower 32 bits) of the MSDU buffer OR
  1052. MSDU_EXTENSION descriptor OR Link Descriptor
  1053. In case of 'NULL' pointer, this field is set to 0
  1054. <legal all>
  1055. */
  1056. #define RX_REO_QUEUE_EXT_22_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000058
  1057. #define RX_REO_QUEUE_EXT_22_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  1058. #define RX_REO_QUEUE_EXT_22_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  1059. /* Description RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  1060. Address (upper 8 bits) of the MSDU buffer OR
  1061. MSDU_EXTENSION descriptor OR Link Descriptor
  1062. In case of 'NULL' pointer, this field is set to 0
  1063. <legal all>
  1064. */
  1065. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000005c
  1066. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  1067. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  1068. /* Description RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  1069. Consumer: WBM
  1070. Producer: SW/FW
  1071. In case of 'NULL' pointer, this field is set to 0
  1072. Indicates to which buffer manager the buffer OR
  1073. MSDU_EXTENSION descriptor OR link descriptor that is being
  1074. pointed to shall be returned after the frame has been
  1075. processed. It is used by WBM for routing purposes.
  1076. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  1077. to the WMB buffer idle list
  1078. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  1079. returned to the WMB idle link descriptor idle list
  1080. <enum 2 FW_BM> This buffer shall be returned to the FW
  1081. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  1082. ring 0
  1083. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  1084. ring 1
  1085. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  1086. ring 2
  1087. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  1088. ring 3
  1089. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  1090. ring 4
  1091. <legal all>
  1092. */
  1093. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000005c
  1094. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  1095. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  1096. /* Description RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  1097. Cookie field exclusively used by SW.
  1098. In case of 'NULL' pointer, this field is set to 0
  1099. HW ignores the contents, accept that it passes the
  1100. programmed value on to other descriptors together with the
  1101. physical address
  1102. Field can be used by SW to for example associate the
  1103. buffers physical address with the virtual address
  1104. The bit definitions as used by SW are within SW HLD
  1105. specification
  1106. NOTE:
  1107. The three most significant bits can have a special
  1108. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  1109. STRUCT, and field transmit_bw_restriction is set
  1110. In case of NON punctured transmission:
  1111. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  1112. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  1113. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  1114. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  1115. In case of punctured transmission:
  1116. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  1117. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  1118. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  1119. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  1120. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  1121. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  1122. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  1123. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  1124. Note: a punctured transmission is indicated by the
  1125. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  1126. TLV
  1127. <legal all>
  1128. */
  1129. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000005c
  1130. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  1131. #define RX_REO_QUEUE_EXT_23_MPDU_LINK_POINTER_10_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  1132. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_11 */
  1133. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  1134. /* Description RX_REO_QUEUE_EXT_24_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  1135. Address (lower 32 bits) of the MSDU buffer OR
  1136. MSDU_EXTENSION descriptor OR Link Descriptor
  1137. In case of 'NULL' pointer, this field is set to 0
  1138. <legal all>
  1139. */
  1140. #define RX_REO_QUEUE_EXT_24_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000060
  1141. #define RX_REO_QUEUE_EXT_24_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  1142. #define RX_REO_QUEUE_EXT_24_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  1143. /* Description RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  1144. Address (upper 8 bits) of the MSDU buffer OR
  1145. MSDU_EXTENSION descriptor OR Link Descriptor
  1146. In case of 'NULL' pointer, this field is set to 0
  1147. <legal all>
  1148. */
  1149. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000064
  1150. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  1151. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  1152. /* Description RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  1153. Consumer: WBM
  1154. Producer: SW/FW
  1155. In case of 'NULL' pointer, this field is set to 0
  1156. Indicates to which buffer manager the buffer OR
  1157. MSDU_EXTENSION descriptor OR link descriptor that is being
  1158. pointed to shall be returned after the frame has been
  1159. processed. It is used by WBM for routing purposes.
  1160. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  1161. to the WMB buffer idle list
  1162. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  1163. returned to the WMB idle link descriptor idle list
  1164. <enum 2 FW_BM> This buffer shall be returned to the FW
  1165. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  1166. ring 0
  1167. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  1168. ring 1
  1169. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  1170. ring 2
  1171. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  1172. ring 3
  1173. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  1174. ring 4
  1175. <legal all>
  1176. */
  1177. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000064
  1178. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  1179. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  1180. /* Description RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  1181. Cookie field exclusively used by SW.
  1182. In case of 'NULL' pointer, this field is set to 0
  1183. HW ignores the contents, accept that it passes the
  1184. programmed value on to other descriptors together with the
  1185. physical address
  1186. Field can be used by SW to for example associate the
  1187. buffers physical address with the virtual address
  1188. The bit definitions as used by SW are within SW HLD
  1189. specification
  1190. NOTE:
  1191. The three most significant bits can have a special
  1192. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  1193. STRUCT, and field transmit_bw_restriction is set
  1194. In case of NON punctured transmission:
  1195. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  1196. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  1197. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  1198. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  1199. In case of punctured transmission:
  1200. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  1201. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  1202. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  1203. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  1204. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  1205. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  1206. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  1207. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  1208. Note: a punctured transmission is indicated by the
  1209. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  1210. TLV
  1211. <legal all>
  1212. */
  1213. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000064
  1214. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  1215. #define RX_REO_QUEUE_EXT_25_MPDU_LINK_POINTER_11_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  1216. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_12 */
  1217. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  1218. /* Description RX_REO_QUEUE_EXT_26_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  1219. Address (lower 32 bits) of the MSDU buffer OR
  1220. MSDU_EXTENSION descriptor OR Link Descriptor
  1221. In case of 'NULL' pointer, this field is set to 0
  1222. <legal all>
  1223. */
  1224. #define RX_REO_QUEUE_EXT_26_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000068
  1225. #define RX_REO_QUEUE_EXT_26_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  1226. #define RX_REO_QUEUE_EXT_26_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  1227. /* Description RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  1228. Address (upper 8 bits) of the MSDU buffer OR
  1229. MSDU_EXTENSION descriptor OR Link Descriptor
  1230. In case of 'NULL' pointer, this field is set to 0
  1231. <legal all>
  1232. */
  1233. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000006c
  1234. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  1235. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  1236. /* Description RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  1237. Consumer: WBM
  1238. Producer: SW/FW
  1239. In case of 'NULL' pointer, this field is set to 0
  1240. Indicates to which buffer manager the buffer OR
  1241. MSDU_EXTENSION descriptor OR link descriptor that is being
  1242. pointed to shall be returned after the frame has been
  1243. processed. It is used by WBM for routing purposes.
  1244. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  1245. to the WMB buffer idle list
  1246. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  1247. returned to the WMB idle link descriptor idle list
  1248. <enum 2 FW_BM> This buffer shall be returned to the FW
  1249. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  1250. ring 0
  1251. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  1252. ring 1
  1253. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  1254. ring 2
  1255. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  1256. ring 3
  1257. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  1258. ring 4
  1259. <legal all>
  1260. */
  1261. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000006c
  1262. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  1263. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  1264. /* Description RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  1265. Cookie field exclusively used by SW.
  1266. In case of 'NULL' pointer, this field is set to 0
  1267. HW ignores the contents, accept that it passes the
  1268. programmed value on to other descriptors together with the
  1269. physical address
  1270. Field can be used by SW to for example associate the
  1271. buffers physical address with the virtual address
  1272. The bit definitions as used by SW are within SW HLD
  1273. specification
  1274. NOTE:
  1275. The three most significant bits can have a special
  1276. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  1277. STRUCT, and field transmit_bw_restriction is set
  1278. In case of NON punctured transmission:
  1279. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  1280. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  1281. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  1282. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  1283. In case of punctured transmission:
  1284. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  1285. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  1286. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  1287. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  1288. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  1289. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  1290. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  1291. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  1292. Note: a punctured transmission is indicated by the
  1293. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  1294. TLV
  1295. <legal all>
  1296. */
  1297. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000006c
  1298. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  1299. #define RX_REO_QUEUE_EXT_27_MPDU_LINK_POINTER_12_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  1300. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_13 */
  1301. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  1302. /* Description RX_REO_QUEUE_EXT_28_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  1303. Address (lower 32 bits) of the MSDU buffer OR
  1304. MSDU_EXTENSION descriptor OR Link Descriptor
  1305. In case of 'NULL' pointer, this field is set to 0
  1306. <legal all>
  1307. */
  1308. #define RX_REO_QUEUE_EXT_28_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000070
  1309. #define RX_REO_QUEUE_EXT_28_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  1310. #define RX_REO_QUEUE_EXT_28_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  1311. /* Description RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  1312. Address (upper 8 bits) of the MSDU buffer OR
  1313. MSDU_EXTENSION descriptor OR Link Descriptor
  1314. In case of 'NULL' pointer, this field is set to 0
  1315. <legal all>
  1316. */
  1317. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000074
  1318. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  1319. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  1320. /* Description RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  1321. Consumer: WBM
  1322. Producer: SW/FW
  1323. In case of 'NULL' pointer, this field is set to 0
  1324. Indicates to which buffer manager the buffer OR
  1325. MSDU_EXTENSION descriptor OR link descriptor that is being
  1326. pointed to shall be returned after the frame has been
  1327. processed. It is used by WBM for routing purposes.
  1328. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  1329. to the WMB buffer idle list
  1330. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  1331. returned to the WMB idle link descriptor idle list
  1332. <enum 2 FW_BM> This buffer shall be returned to the FW
  1333. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  1334. ring 0
  1335. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  1336. ring 1
  1337. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  1338. ring 2
  1339. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  1340. ring 3
  1341. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  1342. ring 4
  1343. <legal all>
  1344. */
  1345. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000074
  1346. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  1347. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  1348. /* Description RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  1349. Cookie field exclusively used by SW.
  1350. In case of 'NULL' pointer, this field is set to 0
  1351. HW ignores the contents, accept that it passes the
  1352. programmed value on to other descriptors together with the
  1353. physical address
  1354. Field can be used by SW to for example associate the
  1355. buffers physical address with the virtual address
  1356. The bit definitions as used by SW are within SW HLD
  1357. specification
  1358. NOTE:
  1359. The three most significant bits can have a special
  1360. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  1361. STRUCT, and field transmit_bw_restriction is set
  1362. In case of NON punctured transmission:
  1363. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  1364. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  1365. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  1366. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  1367. In case of punctured transmission:
  1368. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  1369. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  1370. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  1371. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  1372. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  1373. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  1374. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  1375. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  1376. Note: a punctured transmission is indicated by the
  1377. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  1378. TLV
  1379. <legal all>
  1380. */
  1381. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000074
  1382. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  1383. #define RX_REO_QUEUE_EXT_29_MPDU_LINK_POINTER_13_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  1384. /* EXTERNAL REFERENCE : struct rx_mpdu_link_ptr mpdu_link_pointer_14 */
  1385. /* EXTERNAL REFERENCE : struct buffer_addr_info mpdu_link_desc_addr_info */
  1386. /* Description RX_REO_QUEUE_EXT_30_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0
  1387. Address (lower 32 bits) of the MSDU buffer OR
  1388. MSDU_EXTENSION descriptor OR Link Descriptor
  1389. In case of 'NULL' pointer, this field is set to 0
  1390. <legal all>
  1391. */
  1392. #define RX_REO_QUEUE_EXT_30_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000078
  1393. #define RX_REO_QUEUE_EXT_30_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
  1394. #define RX_REO_QUEUE_EXT_30_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
  1395. /* Description RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32
  1396. Address (upper 8 bits) of the MSDU buffer OR
  1397. MSDU_EXTENSION descriptor OR Link Descriptor
  1398. In case of 'NULL' pointer, this field is set to 0
  1399. <legal all>
  1400. */
  1401. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x0000007c
  1402. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
  1403. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
  1404. /* Description RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER
  1405. Consumer: WBM
  1406. Producer: SW/FW
  1407. In case of 'NULL' pointer, this field is set to 0
  1408. Indicates to which buffer manager the buffer OR
  1409. MSDU_EXTENSION descriptor OR link descriptor that is being
  1410. pointed to shall be returned after the frame has been
  1411. processed. It is used by WBM for routing purposes.
  1412. <enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
  1413. to the WMB buffer idle list
  1414. <enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
  1415. returned to the WMB idle link descriptor idle list
  1416. <enum 2 FW_BM> This buffer shall be returned to the FW
  1417. <enum 3 SW0_BM> This buffer shall be returned to the SW,
  1418. ring 0
  1419. <enum 4 SW1_BM> This buffer shall be returned to the SW,
  1420. ring 1
  1421. <enum 5 SW2_BM> This buffer shall be returned to the SW,
  1422. ring 2
  1423. <enum 6 SW3_BM> This buffer shall be returned to the SW,
  1424. ring 3
  1425. <enum 7 SW4_BM> This buffer shall be returned to the SW,
  1426. ring 4
  1427. <legal all>
  1428. */
  1429. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x0000007c
  1430. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
  1431. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000700
  1432. /* Description RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE
  1433. Cookie field exclusively used by SW.
  1434. In case of 'NULL' pointer, this field is set to 0
  1435. HW ignores the contents, accept that it passes the
  1436. programmed value on to other descriptors together with the
  1437. physical address
  1438. Field can be used by SW to for example associate the
  1439. buffers physical address with the virtual address
  1440. The bit definitions as used by SW are within SW HLD
  1441. specification
  1442. NOTE:
  1443. The three most significant bits can have a special
  1444. meaning in case this struct is embedded in a TX_MPDU_DETAILS
  1445. STRUCT, and field transmit_bw_restriction is set
  1446. In case of NON punctured transmission:
  1447. Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
  1448. Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
  1449. Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
  1450. Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
  1451. In case of punctured transmission:
  1452. Sw_buffer_cookie[20:18] = 3'b000: pattern 0 only
  1453. Sw_buffer_cookie[20:18] = 3'b001: pattern 1 only
  1454. Sw_buffer_cookie[20:18] = 3'b010: pattern 2 only
  1455. Sw_buffer_cookie[20:18] = 3'b011: pattern 3 only
  1456. Sw_buffer_cookie[20:18] = 3'b100: pattern 4 only
  1457. Sw_buffer_cookie[20:18] = 3'b101: pattern 5 only
  1458. Sw_buffer_cookie[20:18] = 3'b110: pattern 6 only
  1459. Sw_buffer_cookie[20:18] = 3'b111: pattern 7 only
  1460. Note: a punctured transmission is indicated by the
  1461. presence of TLV TX_PUNCTURE_SETUP embedded in the scheduler
  1462. TLV
  1463. <legal all>
  1464. */
  1465. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x0000007c
  1466. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 11
  1467. #define RX_REO_QUEUE_EXT_31_MPDU_LINK_POINTER_14_MPDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff800
  1468. #endif // _RX_REO_QUEUE_EXT_H_