tx_fes_setup.h 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593
  1. /*
  2. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. #ifndef _TX_FES_SETUP_H_
  17. #define _TX_FES_SETUP_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #define NUM_OF_DWORDS_TX_FES_SETUP 10
  21. #define NUM_OF_QWORDS_TX_FES_SETUP 5
  22. struct tx_fes_setup {
  23. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  24. uint32_t schedule_id : 32; // [31:0]
  25. uint32_t fes_in_11ax_trigger_response_config : 1, // [0:0]
  26. bo_based_tid_aggregation_limit : 4, // [4:1]
  27. ranging : 1, // [5:5]
  28. expect_i2r_lmr : 1, // [6:6]
  29. transmit_start_reason : 3, // [9:7]
  30. use_alt_power_sr : 1, // [10:10]
  31. static_2_pwr_mode_status : 1, // [11:11]
  32. obss_srg_opport_transmit_status : 1, // [12:12]
  33. srp_based_transmit_status : 1, // [13:13]
  34. obss_pd_based_transmit_status : 1, // [14:14]
  35. puncture_from_all_allowed_modes : 1, // [15:15]
  36. schedule_cmd_ring_id : 5, // [20:16]
  37. fes_control_mode : 2, // [22:21]
  38. number_of_users : 6, // [28:23]
  39. mu_type : 1, // [29:29]
  40. ofdma_triggered_response : 1, // [30:30]
  41. response_to_response_cmd : 1; // [31:31]
  42. uint32_t schedule_try : 4, // [3:0]
  43. ndp_frame : 2, // [5:4]
  44. txbf : 1, // [6:6]
  45. allow_txop_exceed_in_1st_pkt : 1, // [7:7]
  46. ignore_bw_available : 1, // [8:8]
  47. ignore_tbtt : 1, // [9:9]
  48. static_bandwidth : 3, // [12:10]
  49. set_txop_duration_all_ones : 1, // [13:13]
  50. transmission_contains_mu_rts : 1, // [14:14]
  51. bw_restricted_frames_embedded : 1, // [15:15]
  52. ast_index : 16; // [31:16]
  53. uint32_t cv_id : 8, // [7:0]
  54. trigger_resp_txpdu_ppdu_boundary : 2, // [9:8]
  55. rxpcu_setup_complete_present : 1, // [10:10]
  56. rbo_must_have_data_user_limit : 4, // [14:11]
  57. mu_ndp : 1, // [15:15]
  58. bf_type : 2, // [17:16]
  59. cbf_nc_index_mask : 1, // [18:18]
  60. cbf_nc_index : 3, // [21:19]
  61. cbf_nr_index_mask : 1, // [22:22]
  62. cbf_nr_index : 3, // [25:23]
  63. secure_ranging_ista : 1, // [26:26]
  64. ndpa : 1, // [27:27]
  65. wait_sifs : 2, // [29:28]
  66. cbf_feedback_type_mask : 1, // [30:30]
  67. cbf_feedback_type : 1; // [31:31]
  68. uint32_t cbf_sounding_token : 6, // [5:0]
  69. cbf_sounding_token_mask : 1, // [6:6]
  70. cbf_bw_mask : 1, // [7:7]
  71. cbf_bw : 3, // [10:8]
  72. use_static_bw : 1, // [11:11]
  73. coex_nack_count : 5, // [16:12]
  74. sch_tx_burst_ongoing : 1, // [17:17]
  75. gen_tqm_update_mpdu_count_tlv : 1, // [18:18]
  76. transmit_vif : 4, // [22:19]
  77. optimal_bw_retry_count : 4, // [26:23]
  78. fes_continuation_ratio_threshold : 5; // [31:27]
  79. uint32_t transmit_cca_bitmap : 32; // [31:0]
  80. uint32_t tb_ranging : 1, // [0:0]
  81. ranging_trigger_subtype : 4, // [4:1]
  82. min_cts2self_count : 4, // [8:5]
  83. max_cts2self_count : 4, // [12:9]
  84. wifi_radar_enable : 1, // [13:13]
  85. reserved_6a : 18; // [31:14]
  86. uint32_t monitor_override_sta_31_0 : 32; // [31:0]
  87. uint32_t monitor_override_sta_36_32 : 5, // [4:0]
  88. reserved_8a : 27; // [31:5]
  89. uint32_t fw2sw_info : 32; // [31:0]
  90. #else
  91. uint32_t schedule_id : 32; // [31:0]
  92. uint32_t response_to_response_cmd : 1, // [31:31]
  93. ofdma_triggered_response : 1, // [30:30]
  94. mu_type : 1, // [29:29]
  95. number_of_users : 6, // [28:23]
  96. fes_control_mode : 2, // [22:21]
  97. schedule_cmd_ring_id : 5, // [20:16]
  98. puncture_from_all_allowed_modes : 1, // [15:15]
  99. obss_pd_based_transmit_status : 1, // [14:14]
  100. srp_based_transmit_status : 1, // [13:13]
  101. obss_srg_opport_transmit_status : 1, // [12:12]
  102. static_2_pwr_mode_status : 1, // [11:11]
  103. use_alt_power_sr : 1, // [10:10]
  104. transmit_start_reason : 3, // [9:7]
  105. expect_i2r_lmr : 1, // [6:6]
  106. ranging : 1, // [5:5]
  107. bo_based_tid_aggregation_limit : 4, // [4:1]
  108. fes_in_11ax_trigger_response_config : 1; // [0:0]
  109. uint32_t ast_index : 16, // [31:16]
  110. bw_restricted_frames_embedded : 1, // [15:15]
  111. transmission_contains_mu_rts : 1, // [14:14]
  112. set_txop_duration_all_ones : 1, // [13:13]
  113. static_bandwidth : 3, // [12:10]
  114. ignore_tbtt : 1, // [9:9]
  115. ignore_bw_available : 1, // [8:8]
  116. allow_txop_exceed_in_1st_pkt : 1, // [7:7]
  117. txbf : 1, // [6:6]
  118. ndp_frame : 2, // [5:4]
  119. schedule_try : 4; // [3:0]
  120. uint32_t cbf_feedback_type : 1, // [31:31]
  121. cbf_feedback_type_mask : 1, // [30:30]
  122. wait_sifs : 2, // [29:28]
  123. ndpa : 1, // [27:27]
  124. secure_ranging_ista : 1, // [26:26]
  125. cbf_nr_index : 3, // [25:23]
  126. cbf_nr_index_mask : 1, // [22:22]
  127. cbf_nc_index : 3, // [21:19]
  128. cbf_nc_index_mask : 1, // [18:18]
  129. bf_type : 2, // [17:16]
  130. mu_ndp : 1, // [15:15]
  131. rbo_must_have_data_user_limit : 4, // [14:11]
  132. rxpcu_setup_complete_present : 1, // [10:10]
  133. trigger_resp_txpdu_ppdu_boundary : 2, // [9:8]
  134. cv_id : 8; // [7:0]
  135. uint32_t fes_continuation_ratio_threshold : 5, // [31:27]
  136. optimal_bw_retry_count : 4, // [26:23]
  137. transmit_vif : 4, // [22:19]
  138. gen_tqm_update_mpdu_count_tlv : 1, // [18:18]
  139. sch_tx_burst_ongoing : 1, // [17:17]
  140. coex_nack_count : 5, // [16:12]
  141. use_static_bw : 1, // [11:11]
  142. cbf_bw : 3, // [10:8]
  143. cbf_bw_mask : 1, // [7:7]
  144. cbf_sounding_token_mask : 1, // [6:6]
  145. cbf_sounding_token : 6; // [5:0]
  146. uint32_t transmit_cca_bitmap : 32; // [31:0]
  147. uint32_t reserved_6a : 18, // [31:14]
  148. wifi_radar_enable : 1, // [13:13]
  149. max_cts2self_count : 4, // [12:9]
  150. min_cts2self_count : 4, // [8:5]
  151. ranging_trigger_subtype : 4, // [4:1]
  152. tb_ranging : 1; // [0:0]
  153. uint32_t monitor_override_sta_31_0 : 32; // [31:0]
  154. uint32_t reserved_8a : 27, // [31:5]
  155. monitor_override_sta_36_32 : 5; // [4:0]
  156. uint32_t fw2sw_info : 32; // [31:0]
  157. #endif
  158. };
  159. /* Description SCHEDULE_ID
  160. Consumer: PDG/TXDMA/TXOLE/TXCRYPTO/TXPCU
  161. Producer: SCH
  162. This field is overwritten by the scheduler module and it's
  163. value is coming from the"schedule_id" field in the Scheduler
  164. command.
  165. Configured by scheduler in HW transmit mode
  166. A field that HW copies over into the scheduling status report,
  167. so that SW can determine to which scheduler command the
  168. status report belongs.
  169. This schedule ID is also reported in the PPDU status.
  170. <legal all>
  171. */
  172. #define TX_FES_SETUP_SCHEDULE_ID_OFFSET 0x0000000000000000
  173. #define TX_FES_SETUP_SCHEDULE_ID_LSB 0
  174. #define TX_FES_SETUP_SCHEDULE_ID_MSB 31
  175. #define TX_FES_SETUP_SCHEDULE_ID_MASK 0x00000000ffffffff
  176. /* Description FES_IN_11AX_TRIGGER_RESPONSE_CONFIG
  177. Consumer: PDG/TXPCU
  178. Producer: SW
  179. When set, this scheduler command has some additional settings
  180. that PDG and TXPCU need to take into account, depending
  181. on if the transmission has been iniated as a backoff expiration
  182. or as the result of an 11ax trigger reception.
  183. 0: not in special trigger response config
  184. 1: command is special trigger response config.
  185. When set to 1, there are some programming limitations: There
  186. can only be 1 group, up to 8 users, SW shall have specified
  187. the AC for each user, and AC order per user is from BE
  188. to VO
  189. (see PDG_USER_SETUP, fields Triggered_mpdu_AC_category)
  190. <legal all>
  191. */
  192. #define TX_FES_SETUP_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_OFFSET 0x0000000000000000
  193. #define TX_FES_SETUP_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_LSB 32
  194. #define TX_FES_SETUP_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MSB 32
  195. #define TX_FES_SETUP_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MASK 0x0000000100000000
  196. /* Description BO_BASED_TID_AGGREGATION_LIMIT
  197. Consumer: PDG
  198. Producer: SW
  199. Field only valid when Ofdma_triggered_response is NOT set
  200. (=> implies transmission started due to backoff expiration)
  201. Field only valid for SU and "MU_SU" transmissions.
  202. The requirements for what to transmit depend on what the
  203. reason is that this transmission started. If it is 11ax
  204. trigger based, the trigger frame will specify all the constrains
  205. like max TID count, prefered AC, etc.
  206. However if this command starts executing due to backoff
  207. expiration, the requirements could be different from those
  208. that might have come from the trigger frame.
  209. This field specifies what the constaints are when the transmission
  210. is Backoff initiated.
  211. If zero, this feature is disabled.
  212. If non-zero, this indicates the number of users within a
  213. group that can be aggregated by a STA in a multi-TID A-MPDU.
  214. This can also be used to block the series of QoS-null MPDUs
  215. when an RBO+Trig queue transmits using RBO.
  216. Based on this number, PDG will mask of user numbers >= this
  217. count
  218. <legal all>
  219. */
  220. #define TX_FES_SETUP_BO_BASED_TID_AGGREGATION_LIMIT_OFFSET 0x0000000000000000
  221. #define TX_FES_SETUP_BO_BASED_TID_AGGREGATION_LIMIT_LSB 33
  222. #define TX_FES_SETUP_BO_BASED_TID_AGGREGATION_LIMIT_MSB 36
  223. #define TX_FES_SETUP_BO_BASED_TID_AGGREGATION_LIMIT_MASK 0x0000001e00000000
  224. /* Description RANGING
  225. Consumer: TXPCU
  226. Producer: SW
  227. Set to 1 in case the frame queued is:
  228. a .11az ranging NDPA,
  229. a .11az ranging NDP, or
  230. an ISTA2RSTA LMR.
  231. Set to 0 for all other cases.
  232. */
  233. #define TX_FES_SETUP_RANGING_OFFSET 0x0000000000000000
  234. #define TX_FES_SETUP_RANGING_LSB 37
  235. #define TX_FES_SETUP_RANGING_MSB 37
  236. #define TX_FES_SETUP_RANGING_MASK 0x0000002000000000
  237. /* Description EXPECT_I2R_LMR
  238. Consumer: TXPCU
  239. Producer: SW
  240. Set to 1 in case the frame queued is a .11az randing NDPA/NDP
  241. and if the ISTA2RSTA LMR frame is also queued after SIFS.
  242. Set to 0 otherwise.
  243. */
  244. #define TX_FES_SETUP_EXPECT_I2R_LMR_OFFSET 0x0000000000000000
  245. #define TX_FES_SETUP_EXPECT_I2R_LMR_LSB 38
  246. #define TX_FES_SETUP_EXPECT_I2R_LMR_MSB 38
  247. #define TX_FES_SETUP_EXPECT_I2R_LMR_MASK 0x0000004000000000
  248. /* Description TRANSMIT_START_REASON
  249. Indicates what the SCH start reason reason was for initiating
  250. this transmission.
  251. <enum 0 BO_based_transmit_start> The transmission of this
  252. PPDU got initiated by the scheduler due to Backoff expiration
  253. <enum 1 Trigger_based_transmit_start> The transmission of
  254. this PPDU got initiated by the scheduler due to reception
  255. (by the SCH) of the TLV RECEIVED_TRIGGER_INFO that RXPCU
  256. generated. Note that this can be an OFDMA trigger frame
  257. based transmission as well as some legacy trigger (PS-POLL,
  258. Qboost, U-APSD, etc.) based transmission
  259. <enum 2 Sifs_continuation_in_ongoing_burst> This transmission
  260. of this PPDU got initiated as part of SIFS continuation.
  261. An earlier PPDU was transmitted due to RBO expiration. Next
  262. command is also expected to be transmitted in SIFS burst.
  263. <enum 3 Sifs_continuation_last_command> This transmission
  264. of this PPDU got initiated as part of SIFS continuation
  265. and this is the last command in the burst. An earlier PPDU
  266. was transmitted due to RBO expiration.
  267. <enum 4 NTBR_response_start> DO NOT USE
  268. <legal 0-4>
  269. */
  270. #define TX_FES_SETUP_TRANSMIT_START_REASON_OFFSET 0x0000000000000000
  271. #define TX_FES_SETUP_TRANSMIT_START_REASON_LSB 39
  272. #define TX_FES_SETUP_TRANSMIT_START_REASON_MSB 41
  273. #define TX_FES_SETUP_TRANSMIT_START_REASON_MASK 0x0000038000000000
  274. /* Description USE_ALT_POWER_SR
  275. 0: Primary/default power1: Alternate power
  276. <legal all>
  277. */
  278. #define TX_FES_SETUP_USE_ALT_POWER_SR_OFFSET 0x0000000000000000
  279. #define TX_FES_SETUP_USE_ALT_POWER_SR_LSB 42
  280. #define TX_FES_SETUP_USE_ALT_POWER_SR_MSB 42
  281. #define TX_FES_SETUP_USE_ALT_POWER_SR_MASK 0x0000040000000000
  282. /* Description STATIC_2_PWR_MODE_STATUS
  283. 0: Static 2 power mode disabled1: Static 2 power mode enabled
  284. <legal all>
  285. */
  286. #define TX_FES_SETUP_STATIC_2_PWR_MODE_STATUS_OFFSET 0x0000000000000000
  287. #define TX_FES_SETUP_STATIC_2_PWR_MODE_STATUS_LSB 43
  288. #define TX_FES_SETUP_STATIC_2_PWR_MODE_STATUS_MSB 43
  289. #define TX_FES_SETUP_STATIC_2_PWR_MODE_STATUS_MASK 0x0000080000000000
  290. /* Description OBSS_SRG_OPPORT_TRANSMIT_STATUS
  291. 0: Transmit based on SRG OBSS_PD opportunity initiated1:
  292. Transmit based on non-SRG OBSS_PD opportunity initiated
  293. <legal all>
  294. */
  295. #define TX_FES_SETUP_OBSS_SRG_OPPORT_TRANSMIT_STATUS_OFFSET 0x0000000000000000
  296. #define TX_FES_SETUP_OBSS_SRG_OPPORT_TRANSMIT_STATUS_LSB 44
  297. #define TX_FES_SETUP_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MSB 44
  298. #define TX_FES_SETUP_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MASK 0x0000100000000000
  299. /* Description SRP_BASED_TRANSMIT_STATUS
  300. 0: non-SRP based transmit initiated1: SRP based transmit
  301. initiated
  302. <legal all>
  303. */
  304. #define TX_FES_SETUP_SRP_BASED_TRANSMIT_STATUS_OFFSET 0x0000000000000000
  305. #define TX_FES_SETUP_SRP_BASED_TRANSMIT_STATUS_LSB 45
  306. #define TX_FES_SETUP_SRP_BASED_TRANSMIT_STATUS_MSB 45
  307. #define TX_FES_SETUP_SRP_BASED_TRANSMIT_STATUS_MASK 0x0000200000000000
  308. /* Description OBSS_PD_BASED_TRANSMIT_STATUS
  309. 0: non-OBSS_PD based transmit initiated1: obss_pd based
  310. transmit initiated
  311. <legal all>
  312. */
  313. #define TX_FES_SETUP_OBSS_PD_BASED_TRANSMIT_STATUS_OFFSET 0x0000000000000000
  314. #define TX_FES_SETUP_OBSS_PD_BASED_TRANSMIT_STATUS_LSB 46
  315. #define TX_FES_SETUP_OBSS_PD_BASED_TRANSMIT_STATUS_MSB 46
  316. #define TX_FES_SETUP_OBSS_PD_BASED_TRANSMIT_STATUS_MASK 0x0000400000000000
  317. #define TX_FES_SETUP_PUNCTURE_FROM_ALL_ALLOWED_MODES_OFFSET 0x0000000000000000
  318. #define TX_FES_SETUP_PUNCTURE_FROM_ALL_ALLOWED_MODES_LSB 47
  319. #define TX_FES_SETUP_PUNCTURE_FROM_ALL_ALLOWED_MODES_MSB 47
  320. #define TX_FES_SETUP_PUNCTURE_FROM_ALL_ALLOWED_MODES_MASK 0x0000800000000000
  321. /* Description SCHEDULE_CMD_RING_ID
  322. Consumer: PDG/TXDMA/TXOLE/TXCRYPTO/TXPCU
  323. Producer: SCH
  324. This field is overwritten by the scheduler module and its
  325. value is based on the scheduler ring where the command
  326. is initiated.
  327. The schedule command ring that originated this transmission
  328. <enum 0 sch_cmd_ring_number0>
  329. <enum 1 sch_cmd_ring_number1>
  330. <enum 2 sch_cmd_ring_number2>
  331. <enum 3 sch_cmd_ring_number3>
  332. <enum 4 sch_cmd_ring_number4>
  333. <enum 5 sch_cmd_ring_number5>
  334. <enum 6 sch_cmd_ring_number6>
  335. <enum 7 sch_cmd_ring_number7>
  336. <enum 8 sch_cmd_ring_number8>
  337. <enum 9 sch_cmd_ring_number9>
  338. <enum 10 sch_cmd_ring_number10>
  339. <enum 11 sch_cmd_ring_number11>
  340. <enum 12 sch_cmd_ring_number12>
  341. <enum 13 sch_cmd_ring_number13>
  342. <enum 14 sch_cmd_ring_number14>
  343. <enum 15 sch_cmd_ring_number15>
  344. <enum 16 sch_cmd_ring_number16>
  345. <enum 17 sch_cmd_ring_number17>
  346. <enum 18 sch_cmd_ring_number18>
  347. <enum 19 sch_cmd_ring_number19>
  348. <enum 20 sch_cmd_ring_number20>
  349. <legal 0-20>
  350. */
  351. #define TX_FES_SETUP_SCHEDULE_CMD_RING_ID_OFFSET 0x0000000000000000
  352. #define TX_FES_SETUP_SCHEDULE_CMD_RING_ID_LSB 48
  353. #define TX_FES_SETUP_SCHEDULE_CMD_RING_ID_MSB 52
  354. #define TX_FES_SETUP_SCHEDULE_CMD_RING_ID_MASK 0x001f000000000000
  355. /* Description FES_CONTROL_MODE
  356. Consumer: PDG/TXDMA/TXOLE/TXCRYPTO/TXPCU
  357. Producer: SCH
  358. This field is overwritten by the scheduler module and it's
  359. value is coming from the "FES_control_mode" field in the
  360. Scheduler command.
  361. <enum 0 SW_transmit_mode> No HW generated TLVs
  362. <enum 1 PDG_transmit_mode> PDG is activated to generate
  363. TLVs
  364. Note: Final Bandwidth selection is always performed by TX
  365. PCU.
  366. <legal 0-1>
  367. */
  368. #define TX_FES_SETUP_FES_CONTROL_MODE_OFFSET 0x0000000000000000
  369. #define TX_FES_SETUP_FES_CONTROL_MODE_LSB 53
  370. #define TX_FES_SETUP_FES_CONTROL_MODE_MSB 54
  371. #define TX_FES_SETUP_FES_CONTROL_MODE_MASK 0x0060000000000000
  372. /* Description NUMBER_OF_USERS
  373. Consumer: PDG/TXDMA/TXOLE/TXCRYPTO/TXPCU
  374. Producer: SCH
  375. The number of users in this transmission. Can be MU-MIMO
  376. or OFDMA in case the number is > 1
  377. <legal 1-63>
  378. */
  379. #define TX_FES_SETUP_NUMBER_OF_USERS_OFFSET 0x0000000000000000
  380. #define TX_FES_SETUP_NUMBER_OF_USERS_LSB 55
  381. #define TX_FES_SETUP_NUMBER_OF_USERS_MSB 60
  382. #define TX_FES_SETUP_NUMBER_OF_USERS_MASK 0x1f80000000000000
  383. /* Description MU_TYPE
  384. In case the Number_of_users > 1, the transmission could
  385. be MU or OFDMA.
  386. This field indicates which one it is.
  387. 0: MU-MIMO
  388. 1: OFDMA
  389. In case the number_of_user == 1, and PDG_FES_SETUP.mu_su_transmission
  390. is set, this field indicates:0: SU transmitted in MU MIMO
  391. format in compressed mode;1: SU transmitted in MU-OFDMA
  392. format in uncompressed mode
  393. Note: Within OFDMA classification, it could be that within
  394. one or more RUs there will be MIMO transmission...This
  395. is still considered as an 'OFDMA' class of MU transmission.
  396. <legal all>
  397. */
  398. #define TX_FES_SETUP_MU_TYPE_OFFSET 0x0000000000000000
  399. #define TX_FES_SETUP_MU_TYPE_LSB 61
  400. #define TX_FES_SETUP_MU_TYPE_MSB 61
  401. #define TX_FES_SETUP_MU_TYPE_MASK 0x2000000000000000
  402. /* Description OFDMA_TRIGGERED_RESPONSE
  403. Consumer: TXPCU/PDG
  404. Producer: SCH/SW
  405. SW should always set this bit to 0
  406. SCH will always overwrite this field and set it to the appropriate
  407. value for the upcoming transmission.
  408. When set (by SCH), this FES is initiated as a result of
  409. receiving an OFDMA transmit trigger. PDG already has received
  410. all transmit info from RXPCU. PDG can ignore most of the
  411. transmit initialization info.
  412. <legal all>
  413. */
  414. #define TX_FES_SETUP_OFDMA_TRIGGERED_RESPONSE_OFFSET 0x0000000000000000
  415. #define TX_FES_SETUP_OFDMA_TRIGGERED_RESPONSE_LSB 62
  416. #define TX_FES_SETUP_OFDMA_TRIGGERED_RESPONSE_MSB 62
  417. #define TX_FES_SETUP_OFDMA_TRIGGERED_RESPONSE_MASK 0x4000000000000000
  418. /* Description RESPONSE_TO_RESPONSE_CMD
  419. When set, this scheduler command contains the transmission
  420. control for the response_to_response transmission
  421. <legal all>
  422. */
  423. #define TX_FES_SETUP_RESPONSE_TO_RESPONSE_CMD_OFFSET 0x0000000000000000
  424. #define TX_FES_SETUP_RESPONSE_TO_RESPONSE_CMD_LSB 63
  425. #define TX_FES_SETUP_RESPONSE_TO_RESPONSE_CMD_MSB 63
  426. #define TX_FES_SETUP_RESPONSE_TO_RESPONSE_CMD_MASK 0x8000000000000000
  427. /* Description SCHEDULE_TRY
  428. Consumer: TXPCU
  429. Producer: SCH
  430. This field is overwritten by the scheduler module and it's
  431. value is coming from an internal counter in the scheduler
  432. that keeps track of how many times a scheduling command
  433. has been tried.
  434. This count indicates how many times the FES did not successfully
  435. complete as the ACK/BA frame did not get received.
  436. <legal all>
  437. */
  438. #define TX_FES_SETUP_SCHEDULE_TRY_OFFSET 0x0000000000000008
  439. #define TX_FES_SETUP_SCHEDULE_TRY_LSB 0
  440. #define TX_FES_SETUP_SCHEDULE_TRY_MSB 3
  441. #define TX_FES_SETUP_SCHEDULE_TRY_MASK 0x000000000000000f
  442. /* Description NDP_FRAME
  443. Consumer: PDG/TXPCU
  444. Producer: SCH
  445. When set, the scheduling command contains an NDP frame.
  446. This can only be done using the SW transmit mode.
  447. <enum 0 no_ndp>No NDP transmission
  448. <enum 1 beamforming_ndp>Beamforming NDP
  449. <enum 2 he_ranging_ndp>11az NDP (HE Ranging NDP)
  450. <enum 3 he_feedback_ndp>Short TB (HE Feedback NDP)
  451. */
  452. #define TX_FES_SETUP_NDP_FRAME_OFFSET 0x0000000000000008
  453. #define TX_FES_SETUP_NDP_FRAME_LSB 4
  454. #define TX_FES_SETUP_NDP_FRAME_MSB 5
  455. #define TX_FES_SETUP_NDP_FRAME_MASK 0x0000000000000030
  456. /* Description TXBF
  457. Consumer: PDG/TXPCU
  458. Producer: SCH
  459. If set, this bit indicates that this is a TX beamformed
  460. SU transaction or MU transaction
  461. In case of a beamformed transmission, note that in the PCU_PPDU_SETUP_INIT
  462. TLV, SW can narrow down for which of the BW the beamforming
  463. shall take place. For example, SW can decide that BW is
  464. only desired for 40MHz BW, but not for 20...
  465. If for any of the allowed BW, beamforming is desired, this
  466. field should be set, and the 'bf_type' shall be properly
  467. programmed.
  468. TXPCU controls with bit 'beamforming' in the MACTX_PRE_PHY_DESC
  469. if the final actual transmission shall be beamformed.
  470. */
  471. #define TX_FES_SETUP_TXBF_OFFSET 0x0000000000000008
  472. #define TX_FES_SETUP_TXBF_LSB 6
  473. #define TX_FES_SETUP_TXBF_MSB 6
  474. #define TX_FES_SETUP_TXBF_MASK 0x0000000000000040
  475. /* Description ALLOW_TXOP_EXCEED_IN_1ST_PKT
  476. Consumer: PDG
  477. Producer: SCH
  478. Field only valid for SU transmissions.
  479. When set, a single MPDU transmission after RBO is allowed
  480. to exceed TXOP. In this setting, this field has priority
  481. over the setting of the duration_field_boundary. Reason
  482. for this is that if Coex issues on the receiver STA start
  483. preventing the transmission of frames on this device, it
  484. can lead to a death spiral. With some luck, this frame
  485. although maybe too long, might still be received.
  486. When 0, single MPDU after RBO is not allowed to exceed TXOP.
  487. <legal all>
  488. */
  489. #define TX_FES_SETUP_ALLOW_TXOP_EXCEED_IN_1ST_PKT_OFFSET 0x0000000000000008
  490. #define TX_FES_SETUP_ALLOW_TXOP_EXCEED_IN_1ST_PKT_LSB 7
  491. #define TX_FES_SETUP_ALLOW_TXOP_EXCEED_IN_1ST_PKT_MSB 7
  492. #define TX_FES_SETUP_ALLOW_TXOP_EXCEED_IN_1ST_PKT_MASK 0x0000000000000080
  493. /* Description IGNORE_BW_AVAILABLE
  494. Consumer: TXPCU
  495. Producer: SCH
  496. If set, TXPCU ignores 'BW available signals' from the scheduler
  497. and transmit using the single BW that SW has programmed
  498. the transmission to go out in. This bit should be set for
  499. SIFS response frame to PS-Poll/uAPSD/QBoost and note that
  500. for this mode, SW is only allowed to program a single transmit
  501. BW.
  502. Also note that this bit can not be set in combination with
  503. preamble puncturing.
  504. <legal all>
  505. */
  506. #define TX_FES_SETUP_IGNORE_BW_AVAILABLE_OFFSET 0x0000000000000008
  507. #define TX_FES_SETUP_IGNORE_BW_AVAILABLE_LSB 8
  508. #define TX_FES_SETUP_IGNORE_BW_AVAILABLE_MSB 8
  509. #define TX_FES_SETUP_IGNORE_BW_AVAILABLE_MASK 0x0000000000000100
  510. /* Description IGNORE_TBTT
  511. Consumer: PDG
  512. Producer: SCH
  513. If set, PDG ignores remaining TBTTs in PPDU time calculation.
  514. <legal all>
  515. */
  516. #define TX_FES_SETUP_IGNORE_TBTT_OFFSET 0x0000000000000008
  517. #define TX_FES_SETUP_IGNORE_TBTT_LSB 9
  518. #define TX_FES_SETUP_IGNORE_TBTT_MSB 9
  519. #define TX_FES_SETUP_IGNORE_TBTT_MASK 0x0000000000000200
  520. /* Description STATIC_BANDWIDTH
  521. Consumer: PDG/TXPCU
  522. Producer: SCH
  523. Field is reserved when use_static_bw is clear.
  524. <enum 0 20_mhz>20 Mhz BW
  525. <enum 1 40_mhz>40 Mhz BW
  526. <enum 2 80_mhz>80 Mhz BW
  527. <enum 3 160_mhz>160 Mhz BW
  528. <enum 4 320_mhz>320 Mhz BW
  529. <enum 5 240_mhz>240 Mhz BW
  530. */
  531. #define TX_FES_SETUP_STATIC_BANDWIDTH_OFFSET 0x0000000000000008
  532. #define TX_FES_SETUP_STATIC_BANDWIDTH_LSB 10
  533. #define TX_FES_SETUP_STATIC_BANDWIDTH_MSB 12
  534. #define TX_FES_SETUP_STATIC_BANDWIDTH_MASK 0x0000000000001c00
  535. /* Description SET_TXOP_DURATION_ALL_ONES
  536. Consumer: PDG
  537. Producer: SCH
  538. When set, SW embedded a PS_POLL frame in this transmission
  539. or the frame in this transmission is for a BSS with BSS
  540. Color disabled, e.g. due to BSS color collision.
  541. PDG sets the TXOP_DURATION of the transmit PPDU to all 1s.
  542. <legal all>
  543. */
  544. #define TX_FES_SETUP_SET_TXOP_DURATION_ALL_ONES_OFFSET 0x0000000000000008
  545. #define TX_FES_SETUP_SET_TXOP_DURATION_ALL_ONES_LSB 13
  546. #define TX_FES_SETUP_SET_TXOP_DURATION_ALL_ONES_MSB 13
  547. #define TX_FES_SETUP_SET_TXOP_DURATION_ALL_ONES_MASK 0x0000000000002000
  548. /* Description TRANSMISSION_CONTAINS_MU_RTS
  549. Consumer: PDG
  550. Producer: SCH
  551. When set, SW embedded a MU-RTS trigger frame in this transmission.
  552. TXPCU will have to do something special for this with the
  553. CTS response timeout (whose value comes from a MU-CTS timeout
  554. register)
  555. <legal all>
  556. */
  557. #define TX_FES_SETUP_TRANSMISSION_CONTAINS_MU_RTS_OFFSET 0x0000000000000008
  558. #define TX_FES_SETUP_TRANSMISSION_CONTAINS_MU_RTS_LSB 14
  559. #define TX_FES_SETUP_TRANSMISSION_CONTAINS_MU_RTS_MSB 14
  560. #define TX_FES_SETUP_TRANSMISSION_CONTAINS_MU_RTS_MASK 0x0000000000004000
  561. /* Description BW_RESTRICTED_FRAMES_EMBEDDED
  562. Consumer: TXPCU
  563. Producer: SW
  564. This bit should be set by SW when the transmission includes
  565. bandwidth restricted frames. As a result of this bit being
  566. set, TXPCU will hold of indicating that buffer space is
  567. available to TXDMA till the BW decision is done. This allows
  568. TXPCU to drop the BW restricted frames at SFM input.
  569. <legal all>
  570. */
  571. #define TX_FES_SETUP_BW_RESTRICTED_FRAMES_EMBEDDED_OFFSET 0x0000000000000008
  572. #define TX_FES_SETUP_BW_RESTRICTED_FRAMES_EMBEDDED_LSB 15
  573. #define TX_FES_SETUP_BW_RESTRICTED_FRAMES_EMBEDDED_MSB 15
  574. #define TX_FES_SETUP_BW_RESTRICTED_FRAMES_EMBEDDED_MASK 0x0000000000008000
  575. /* Description AST_INDEX
  576. Consumer: RXPCU
  577. Producer: SCH
  578. Used for implicit BF sounding capture on receive Ack/BA.
  579. The RXPCU needs to tag the receive sounding with ast_index
  580. so FW will know which STA is associated with Ack/BA sounding.
  581. <legal all>
  582. */
  583. #define TX_FES_SETUP_AST_INDEX_OFFSET 0x0000000000000008
  584. #define TX_FES_SETUP_AST_INDEX_LSB 16
  585. #define TX_FES_SETUP_AST_INDEX_MSB 31
  586. #define TX_FES_SETUP_AST_INDEX_MASK 0x00000000ffff0000
  587. /* Description CV_ID
  588. Consumer: TXPCU
  589. Producer: SCH
  590. This field is only valid when expect_cbf is set.
  591. A unique ID corresponding to the CV data expected from the
  592. CBF frame.
  593. TXPCU copies this field over to the TX_FES_STATUS TLV
  594. <legal all>
  595. */
  596. #define TX_FES_SETUP_CV_ID_OFFSET 0x0000000000000008
  597. #define TX_FES_SETUP_CV_ID_LSB 32
  598. #define TX_FES_SETUP_CV_ID_MSB 39
  599. #define TX_FES_SETUP_CV_ID_MASK 0x000000ff00000000
  600. /* Description TRIGGER_RESP_TXPDU_PPDU_BOUNDARY
  601. This field indicates to TXPCU how far into the 11ax trigger
  602. response transmission, TXPCU should still accept Trigger
  603. response related configuration info from the SCHEDULER (and
  604. PDG) to be processed.
  605. The field indicates a percentage of the total byte count
  606. to be given to the PHY, up to which point TXPCU will still
  607. accept all the setup related TLVS to arrive. After that,
  608. TXPCU will ignore any remaining setup TLVs to come in and
  609. not initiate any MPDU based transfers to the PHY anymore.
  610. This is to help avoid corner cases.
  611. If any setup TLVs did arrive after this point, TXPCU will
  612. keep on continuing giving NULL data to the PHY, but once
  613. PHYTX_PKT_END is received, TXPCU shall issue a FLUSH request
  614. to the SCH, with flush code: TXPCU_TRIG_RESPONSE_INFO_TOO_LATE
  615. TXPCU should not abort the transmission halfway, as that
  616. can cause problems for the MU UL receiver...
  617. <enum 0 txpcu_trig_response_boundary_75> TXPCU will not
  618. initiate SCH based MPDU transfers after 75% of the PPDU
  619. octed count has already been given to the PHY.
  620. <enum 1 txpcu_trig_response_boundary_50> TXPCU will not
  621. initiate SCH based MPDU transfers after 50% of the PPDU
  622. octed count has already been given to the PHY.
  623. <enum 2 txpcu_trig_response_boundary_25> TXPCU will not
  624. initiate SCH based MPDU transfers after 75% of the PPDU
  625. octed count has already been given to the PHY.
  626. Note that if TXPCU receives a TX_FES_SETUP with "11ax trigger
  627. response transmission" set, and it had already finished
  628. sending a response , it should generate a flush with code:
  629. TXPCU_TRIG_RESPONSE_MODE_CORRUPTION
  630. <legal 0-2>
  631. */
  632. #define TX_FES_SETUP_TRIGGER_RESP_TXPDU_PPDU_BOUNDARY_OFFSET 0x0000000000000008
  633. #define TX_FES_SETUP_TRIGGER_RESP_TXPDU_PPDU_BOUNDARY_LSB 40
  634. #define TX_FES_SETUP_TRIGGER_RESP_TXPDU_PPDU_BOUNDARY_MSB 41
  635. #define TX_FES_SETUP_TRIGGER_RESP_TXPDU_PPDU_BOUNDARY_MASK 0x0000030000000000
  636. /* Description RXPCU_SETUP_COMPLETE_PRESENT
  637. To notify current TXFES use new mode and delay "RXPCU_*_SETUP"
  638. for HWSCH/TXPCU/RXPCU module
  639. <legal all>
  640. */
  641. #define TX_FES_SETUP_RXPCU_SETUP_COMPLETE_PRESENT_OFFSET 0x0000000000000008
  642. #define TX_FES_SETUP_RXPCU_SETUP_COMPLETE_PRESENT_LSB 42
  643. #define TX_FES_SETUP_RXPCU_SETUP_COMPLETE_PRESENT_MSB 42
  644. #define TX_FES_SETUP_RXPCU_SETUP_COMPLETE_PRESENT_MASK 0x0000040000000000
  645. /* Description RBO_MUST_HAVE_DATA_USER_LIMIT
  646. Consumer: PDG
  647. Producer: SW
  648. Field only valid when Ofdma_triggered_response is NOT set
  649. (=> implies transmission started due to backoff expiration)
  650. Field only valid for SU and "MU_SU" transmissions.
  651. The requirements for what to transmit depend on what the
  652. reason is that this transmission started. If it is 11ax
  653. trigger based, the trigger frame will specify all the constrains
  654. like max TID count, prefered AC, etc.
  655. However if this command starts executing due to backoff
  656. expiration, the requirements could be different from those
  657. that might have come from the trigger frame.
  658. This field specifies what the constaints are when the transmission
  659. is Backoff initiated.
  660. When set to 0, this feature is disabled
  661. When set to 1, user 0 must have data otherwise PDG should
  662. flush the transmission
  663. When set to 2, user 0 AND/OR user 1 must have data otherwise
  664. PDG should flush the transmission
  665. When set to 3, user 0 AND/OR user 1 AND/OR user 2 must have
  666. data otherwise PDG should flush the transmission
  667. ...
  668. <legal all>
  669. */
  670. #define TX_FES_SETUP_RBO_MUST_HAVE_DATA_USER_LIMIT_OFFSET 0x0000000000000008
  671. #define TX_FES_SETUP_RBO_MUST_HAVE_DATA_USER_LIMIT_LSB 43
  672. #define TX_FES_SETUP_RBO_MUST_HAVE_DATA_USER_LIMIT_MSB 46
  673. #define TX_FES_SETUP_RBO_MUST_HAVE_DATA_USER_LIMIT_MASK 0x0000780000000000
  674. /* Description MU_NDP
  675. Field only valid when ndp_frame is set.
  676. If set indicates that this packet is an NDP used for MU
  677. channel estimation. This bit will be used by the TPC to
  678. signal that the analog gain settings can be updated. The
  679. analog gain settings will not change for subsequent MU
  680. data packets.
  681. <legal all>
  682. */
  683. #define TX_FES_SETUP_MU_NDP_OFFSET 0x0000000000000008
  684. #define TX_FES_SETUP_MU_NDP_LSB 47
  685. #define TX_FES_SETUP_MU_NDP_MSB 47
  686. #define TX_FES_SETUP_MU_NDP_MASK 0x0000800000000000
  687. /* Description BF_TYPE
  688. Consumer: PDG/TXPCU
  689. Producer: SCH
  690. Field is ONLY valid when 'txbf' is set...
  691. Defines the type of beamforming that is required using this
  692. transmission.
  693. Note that in the PCU_PPDU_SETUP_INIT TLV, SW can narrow
  694. down for which BW the beamforming shall take place. For
  695. example, SW can decide that BW is only desired for 40MHz
  696. BW, but not for 20...
  697. If for any of the allowed BW, beamforming is desired, this
  698. field should indicate which type of BF.
  699. <enum 0 NO_BF>
  700. <enum 1 LEGACY_BF>
  701. <enum 2 SU_BF>
  702. <enum 3 MU_BF>
  703. <legal all>
  704. */
  705. #define TX_FES_SETUP_BF_TYPE_OFFSET 0x0000000000000008
  706. #define TX_FES_SETUP_BF_TYPE_LSB 48
  707. #define TX_FES_SETUP_BF_TYPE_MSB 49
  708. #define TX_FES_SETUP_BF_TYPE_MASK 0x0003000000000000
  709. /* Description CBF_NC_INDEX_MASK
  710. Consumer: TXPCU
  711. Producer: SCH
  712. When set, TXPCU shall confirm that the received cbf_nc_index
  713. is equal to the expected one, indicated by field: cbf_nc_index
  714. This field is only allowed to be set in case of a single
  715. SU CBF reception.
  716. <legal all>
  717. */
  718. #define TX_FES_SETUP_CBF_NC_INDEX_MASK_OFFSET 0x0000000000000008
  719. #define TX_FES_SETUP_CBF_NC_INDEX_MASK_LSB 50
  720. #define TX_FES_SETUP_CBF_NC_INDEX_MASK_MSB 50
  721. #define TX_FES_SETUP_CBF_NC_INDEX_MASK_MASK 0x0004000000000000
  722. /* Description CBF_NC_INDEX
  723. Consumer: TXPCU
  724. Producer: SCH
  725. Field only valid when cbf_nc_index_mask is set
  726. Expected Nc_index of received CBF frame after sending NDP
  727. or BR-Poll.
  728. <enum 0 nc_1>
  729. <enum 1 nc_2>
  730. <enum 2 nc_3>
  731. <enum 3 nc_4>
  732. <enum 4 nc_5>
  733. <enum 5 nc_6>
  734. <enum 6 nc_7>
  735. <enum 7 nc_8>
  736. <legal 0-7>
  737. */
  738. #define TX_FES_SETUP_CBF_NC_INDEX_OFFSET 0x0000000000000008
  739. #define TX_FES_SETUP_CBF_NC_INDEX_LSB 51
  740. #define TX_FES_SETUP_CBF_NC_INDEX_MSB 53
  741. #define TX_FES_SETUP_CBF_NC_INDEX_MASK 0x0038000000000000
  742. /* Description CBF_NR_INDEX_MASK
  743. Consumer: TXPCU
  744. Producer: SCH
  745. When set, TXPCU shall confirm that the received cbf_nr_index
  746. is equal to the expected one, indicated in the field: cbf_nr_index
  747. This field is only allowed to be set in case of a single
  748. SU CBF reception.
  749. <legal all>
  750. */
  751. #define TX_FES_SETUP_CBF_NR_INDEX_MASK_OFFSET 0x0000000000000008
  752. #define TX_FES_SETUP_CBF_NR_INDEX_MASK_LSB 54
  753. #define TX_FES_SETUP_CBF_NR_INDEX_MASK_MSB 54
  754. #define TX_FES_SETUP_CBF_NR_INDEX_MASK_MASK 0x0040000000000000
  755. /* Description CBF_NR_INDEX
  756. Expected Nr_index of received CBF frame after sending NDP
  757. or BR-Poll. This field is compared only if cbf_nr_index_mask
  758. is set to 1.
  759. <enum 0 nr_1>
  760. <enum 1 nr_2>
  761. <enum 2 nr_3>
  762. <enum 3 nr_4>
  763. <enum 4 nr_5>
  764. <enum 5 nr_6>
  765. <enum 6 nr_7>
  766. <enum 7 nr_8>
  767. <legal 0-7>
  768. */
  769. #define TX_FES_SETUP_CBF_NR_INDEX_OFFSET 0x0000000000000008
  770. #define TX_FES_SETUP_CBF_NR_INDEX_LSB 55
  771. #define TX_FES_SETUP_CBF_NR_INDEX_MSB 57
  772. #define TX_FES_SETUP_CBF_NR_INDEX_MASK 0x0380000000000000
  773. /* Description SECURE_RANGING_ISTA
  774. Consumer: Crypto
  775. Producer: SW
  776. If set to 1, Crypto will use the 'TX_PEER_ENTRY' for encryption
  777. but not for the 'TX_DATA' from TXOLE interface but will
  778. wait for 'LMR_{MPDU_START, DATA, MPDU_END}' TLVs from TXPCU
  779. to encrypt the ISTA2RSTA LMR.
  780. If set to 0, Crypto will encrypt 'TX_DATA' as for any non-.11az-ranging
  781. frame.
  782. */
  783. #define TX_FES_SETUP_SECURE_RANGING_ISTA_OFFSET 0x0000000000000008
  784. #define TX_FES_SETUP_SECURE_RANGING_ISTA_LSB 58
  785. #define TX_FES_SETUP_SECURE_RANGING_ISTA_MSB 58
  786. #define TX_FES_SETUP_SECURE_RANGING_ISTA_MASK 0x0400000000000000
  787. /* Description NDPA
  788. When set, this packet is an NDP announcement.
  789. */
  790. #define TX_FES_SETUP_NDPA_OFFSET 0x0000000000000008
  791. #define TX_FES_SETUP_NDPA_LSB 59
  792. #define TX_FES_SETUP_NDPA_MSB 59
  793. #define TX_FES_SETUP_NDPA_MASK 0x0800000000000000
  794. /* Description WAIT_SIFS
  795. Consumer: TXPCU
  796. Producer: SCH
  797. This field is passed over to the tx_phy_desc by the PDG
  798. module. If set, the AMPI will hold this tx_phy_desc TLV
  799. from the TX PCU until SIFS has elapsed and then forward
  800. the tx_phy_desc to the PHY. The PHY should ignore this
  801. bit. This bit is used to make sure that transmit SIFS response
  802. to a receive frame is cycle accurate and consistent to
  803. enable accurate RTT measurement.
  804. <enum 0 NO_SIFS_TIMING> Transmission shall start with the
  805. normal delay in PHY after receiving this notification
  806. <enum 1 SIFS_TIMING_DESIRED> Transmission shall be made
  807. at the SIFS boundary. If shall never start before SIFS boundary,
  808. but if it a little later, it is not ideal and should be
  809. flagged, but transmission shall not be aborted.
  810. <enum 2 SIFS_TIMING_MANDATED> Transmission shall be made
  811. at exactly SIFS boundary. If this notification is received
  812. by the PHY after SIFS boundary already passed, the PHY
  813. shall abort the transmission
  814. <legal 0-2>
  815. */
  816. #define TX_FES_SETUP_WAIT_SIFS_OFFSET 0x0000000000000008
  817. #define TX_FES_SETUP_WAIT_SIFS_LSB 60
  818. #define TX_FES_SETUP_WAIT_SIFS_MSB 61
  819. #define TX_FES_SETUP_WAIT_SIFS_MASK 0x3000000000000000
  820. /* Description CBF_FEEDBACK_TYPE_MASK
  821. Consumer: TXPCU
  822. Producer: SCH
  823. When set, TXPCU shall confirm that the cbf_feedback_type
  824. is equal to the expected one, indicated in the field: cbf_feedback_type
  825. This field is only allowed to be set in case of a single
  826. SU CBF reception.
  827. <legal all>
  828. */
  829. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_MASK_OFFSET 0x0000000000000008
  830. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_MASK_LSB 62
  831. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_MASK_MSB 62
  832. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_MASK_MASK 0x4000000000000000
  833. /* Description CBF_FEEDBACK_TYPE
  834. Consumer: TXPCU
  835. Producer: SCH
  836. Expected feedback type of received CBF frame after sending
  837. NDP or BR-Poll. This field is compared only if cbf_feedback_type_mask
  838. is set to 1.
  839. <enum 0 SU>
  840. <enum 1 MU>
  841. <legal all>
  842. */
  843. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_OFFSET 0x0000000000000008
  844. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_LSB 63
  845. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_MSB 63
  846. #define TX_FES_SETUP_CBF_FEEDBACK_TYPE_MASK 0x8000000000000000
  847. /* Description CBF_SOUNDING_TOKEN
  848. Consumer: TXPCU
  849. Producer: SCH
  850. Expected sounding token of received CBF frame after sending
  851. NDP or BR-Poll. This field is compared only if cbf_sounding_token_mask
  852. is set to 1.
  853. <legal all>
  854. */
  855. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_OFFSET 0x0000000000000010
  856. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_LSB 0
  857. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_MSB 5
  858. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_MASK 0x000000000000003f
  859. /* Description CBF_SOUNDING_TOKEN_MASK
  860. Consumer: TXPCU
  861. Producer: SCH
  862. When set, TXPCU shall confirm that the cbf_sounding_token
  863. is equal to the expected one, indicated in the field: cbf_sounding_token
  864. This field is only allowed to be set in case of a single
  865. SU CBF reception.
  866. <legal all>
  867. */
  868. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_MASK_OFFSET 0x0000000000000010
  869. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_MASK_LSB 6
  870. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_MASK_MSB 6
  871. #define TX_FES_SETUP_CBF_SOUNDING_TOKEN_MASK_MASK 0x0000000000000040
  872. /* Description CBF_BW_MASK
  873. Consumer: TXPCU
  874. Producer: SCH
  875. When set, TXPCU shall confirm that the cbf_bw_mask is equal
  876. to the expected one, indicated in the field: cbf_bw
  877. This field is only allowed to be set in case of a single
  878. SU CBF reception.
  879. <legal all>
  880. */
  881. #define TX_FES_SETUP_CBF_BW_MASK_OFFSET 0x0000000000000010
  882. #define TX_FES_SETUP_CBF_BW_MASK_LSB 7
  883. #define TX_FES_SETUP_CBF_BW_MASK_MSB 7
  884. #define TX_FES_SETUP_CBF_BW_MASK_MASK 0x0000000000000080
  885. /* Description CBF_BW
  886. Consumer: TXPCU
  887. Producer: SCH
  888. Expected channel width of received CBF frame after sending
  889. NDP or BR-Poll. This field is compared only if cbf_bw_mask
  890. is set to 1.
  891. <enum 0 20_mhz>20 Mhz BW
  892. <enum 1 40_mhz>40 Mhz BW
  893. <enum 2 80_mhz>80 Mhz BW
  894. <enum 3 160_mhz>160 Mhz BW
  895. <enum 4 320_mhz>320 Mhz BW
  896. <enum 5 240_mhz>240 Mhz BW
  897. */
  898. #define TX_FES_SETUP_CBF_BW_OFFSET 0x0000000000000010
  899. #define TX_FES_SETUP_CBF_BW_LSB 8
  900. #define TX_FES_SETUP_CBF_BW_MSB 10
  901. #define TX_FES_SETUP_CBF_BW_MASK 0x0000000000000700
  902. /* Description USE_STATIC_BW
  903. Consumer: TXPCU
  904. Producer: SCH
  905. Part of TX_BF_PARAMS: This field is used to indicate to
  906. the SVD that the b/w that will be defined in the TX_PHY_DESC
  907. for the upcoming TXBF packet will be the same as the static
  908. bandwidth, i.e. the bandwidth that was in operation during
  909. sounding for the clients in question
  910. <legal all>
  911. */
  912. #define TX_FES_SETUP_USE_STATIC_BW_OFFSET 0x0000000000000010
  913. #define TX_FES_SETUP_USE_STATIC_BW_LSB 11
  914. #define TX_FES_SETUP_USE_STATIC_BW_MSB 11
  915. #define TX_FES_SETUP_USE_STATIC_BW_MASK 0x0000000000000800
  916. /* Description COEX_NACK_COUNT
  917. Consumer: TXPCU
  918. Producer: SCH
  919. The number of times PDG informed the SCHeduler module that
  920. for this scheduling command, the WLAN transmission can
  921. not be initialized due to getting a NACK response from the
  922. Coex engine, or PDG not being able to fit a transmission
  923. within the timing constraints given by Coex.
  924. Note that SCH will (re)set this count to 0 at the start
  925. of reading a new SCH command.
  926. This count is maintained on a per ring basis by the SCHeduler
  927. <legal all>
  928. */
  929. #define TX_FES_SETUP_COEX_NACK_COUNT_OFFSET 0x0000000000000010
  930. #define TX_FES_SETUP_COEX_NACK_COUNT_LSB 12
  931. #define TX_FES_SETUP_COEX_NACK_COUNT_MSB 16
  932. #define TX_FES_SETUP_COEX_NACK_COUNT_MASK 0x000000000001f000
  933. /* Description SCH_TX_BURST_ONGOING
  934. Consumer: PDG/TXPCU
  935. Producer: SCH
  936. This field is overwritten by the scheduler module and it's
  937. value is coming from the" sifs_burst_continuation" field
  938. in the Scheduler command.
  939. 0: No action
  940. 1: The next scheduling command needs to start at SIFS time
  941. after finishing the frame transmissions in this command.
  942. This allows for SIFS based bursting
  943. <legal all>
  944. */
  945. #define TX_FES_SETUP_SCH_TX_BURST_ONGOING_OFFSET 0x0000000000000010
  946. #define TX_FES_SETUP_SCH_TX_BURST_ONGOING_LSB 17
  947. #define TX_FES_SETUP_SCH_TX_BURST_ONGOING_MSB 17
  948. #define TX_FES_SETUP_SCH_TX_BURST_ONGOING_MASK 0x0000000000020000
  949. /* Description GEN_TQM_UPDATE_MPDU_COUNT_TLV
  950. Consumer: TXPCU
  951. Producer: SW
  952. NOTE: When PDG is configured to do transmissions in SW mode,
  953. this bit shall NEVER be set.
  954. When set, TXPCU shall generate the TQM_UPDATE_TX_MPDU_COUNT
  955. TLV immediately after PPDU transmission has finished (and
  956. before any response frame might have been received)
  957. When set, SW shall also generate the RXPCU_USER_SETUP TLVs
  958. as this is where TXPCU will get the MPDU_queue addresses.
  959. <legal all>
  960. */
  961. #define TX_FES_SETUP_GEN_TQM_UPDATE_MPDU_COUNT_TLV_OFFSET 0x0000000000000010
  962. #define TX_FES_SETUP_GEN_TQM_UPDATE_MPDU_COUNT_TLV_LSB 18
  963. #define TX_FES_SETUP_GEN_TQM_UPDATE_MPDU_COUNT_TLV_MSB 18
  964. #define TX_FES_SETUP_GEN_TQM_UPDATE_MPDU_COUNT_TLV_MASK 0x0000000000040000
  965. /* Description TRANSMIT_VIF
  966. Consumer: TXOLE
  967. Producer: SW
  968. The VIF for this transmission. Used in MCC mode to control/overwrite
  969. the PM bit settings. Based on this VIF value, TXOLE gets
  970. the pm bit control instructions from the pm_state_overwrite_per_vif
  971. register
  972. <legal all>
  973. */
  974. #define TX_FES_SETUP_TRANSMIT_VIF_OFFSET 0x0000000000000010
  975. #define TX_FES_SETUP_TRANSMIT_VIF_LSB 19
  976. #define TX_FES_SETUP_TRANSMIT_VIF_MSB 22
  977. #define TX_FES_SETUP_TRANSMIT_VIF_MASK 0x0000000000780000
  978. /* Description OPTIMAL_BW_RETRY_COUNT
  979. Consumer: TXPCU
  980. Producer: SCH
  981. This field is overwritten by the scheduler module and it's
  982. value is coming from an internal counter in the scheduler
  983. that keeps track of how many times this scheduling command
  984. has been flushed by TXPCU as a result of most desired BW
  985. not being available (=> flush code: TXPCU_FLREQ_RETRY_FOR_OPTIMAL_BW)
  986. For the first transmission, this count is always set to
  987. 0.
  988. <legal all>
  989. */
  990. #define TX_FES_SETUP_OPTIMAL_BW_RETRY_COUNT_OFFSET 0x0000000000000010
  991. #define TX_FES_SETUP_OPTIMAL_BW_RETRY_COUNT_LSB 23
  992. #define TX_FES_SETUP_OPTIMAL_BW_RETRY_COUNT_MSB 26
  993. #define TX_FES_SETUP_OPTIMAL_BW_RETRY_COUNT_MASK 0x0000000007800000
  994. /* Description FES_CONTINUATION_RATIO_THRESHOLD
  995. Field evaluated by TXPCU only.
  996. Field can be used in both SU and MU transmissions, but might
  997. be most useful in MU transmissions.
  998. TXPCU keeps track of how many MPDU data words are transmited
  999. as well as how many Null delimiters are transmitted. In
  1000. case of an MU and/or multi TID transmission, these two
  1001. counters are the aggregates over all the users.
  1002. At the end of the FES, TXPCU determines the ratio between
  1003. the actual MPDU data words and Null delimiters. If this
  1004. ratio is LESS then the ratio indicated here, TXPCU should
  1005. indicate "Transmit_data_null_ratio_not_met" in the TX_FES_STATUS_END
  1006. <enum 0 No_Data_Null_ratio_requirement> TXPCU does not need
  1007. to do any evaluation on the ratio between actual data transmitted
  1008. and NULL delimiters inserted.
  1009. <enum 1 Data_Null_ratio_16_1> At the end of the FES, TXPCU
  1010. shall confirm that the DATA:NULL delimiter ratio was at
  1011. least 16:1. If not met, TXPCU should terminate FES.
  1012. <enum 2 Data_Null_ratio_8_1> At the end of the FES, TXPCU
  1013. shall confirm that the DATA:NULL delimiter ratio was at
  1014. least 8:1. If not met, TXPCU should terminate FES.
  1015. <enum 3 Data_Null_ratio_4_1> At the end of the FES, TXPCU
  1016. shall confirm that the DATA:NULL delimiter ratio was at
  1017. least 4:1. If not met, TXPCU should terminate FES.
  1018. <enum 4 Data_Null_ratio_2_1> At the end of the FES, TXPCU
  1019. shall confirm that the DATA:NULL delimiter ratio was at
  1020. least 2:1. If not met, TXPCU should terminate FES.
  1021. <enum 5 Data_Null_ratio_1_1> At the end of the FES, TXPCU
  1022. shall confirm that the DATA:NULL delimiter ratio was at
  1023. least 1:1. If not met, TXPCU should terminate FES.
  1024. <enum 6 Data_Null_ratio_1_2> At the end of the FES, TXPCU
  1025. shall confirm that the DATA:NULL delimiter ratio was at
  1026. least 1:2. If not met, TXPCU should terminate FES.
  1027. <enum 7 Data_Null_ratio_1_4> At the end of the FES, TXPCU
  1028. shall confirm that the DATA:NULL delimiter ratio was at
  1029. least 1:4. If not met, TXPCU should terminate FES.
  1030. <enum 8 Data_Null_ratio_1_8> At the end of the FES, TXPCU
  1031. shall confirm that the DATA:NULL delimiter ratio was at
  1032. least 1:8. If not met, TXPCU should terminate FES.
  1033. <enum 9 Data_Null_ratio_1_16> At the end of the FES, TXPCU
  1034. shall confirm that the DATA:NULL delimiter ratio was at
  1035. least 1:16. If not met, TXPCU should terminate FES.
  1036. <legal 0-9>
  1037. */
  1038. #define TX_FES_SETUP_FES_CONTINUATION_RATIO_THRESHOLD_OFFSET 0x0000000000000010
  1039. #define TX_FES_SETUP_FES_CONTINUATION_RATIO_THRESHOLD_LSB 27
  1040. #define TX_FES_SETUP_FES_CONTINUATION_RATIO_THRESHOLD_MSB 31
  1041. #define TX_FES_SETUP_FES_CONTINUATION_RATIO_THRESHOLD_MASK 0x00000000f8000000
  1042. /* Description TRANSMIT_CCA_BITMAP
  1043. The CCA signals that shall be evaluated by TXPCU to determine
  1044. the BW/puncture pattern available for transmission.
  1045. 0: CCA signal not needed. Ignore the CCA setting
  1046. 1: CCA signals shall be evaluated
  1047. Bit [1:0] => cca20_0 related signals
  1048. Bit [3:2] => cca20_1 related signals
  1049. ...
  1050. Bit [31:30] => cca20_15 related signals
  1051. Within the 2 bits, the order is always:
  1052. Bit0: ED
  1053. Bit1: GI
  1054. NOTE: HW Sch takes care of MUXing ED1/ED2 with ED0 and MUXing
  1055. GI1 with GI0. Hence this field should be set to 0x55555555
  1056. for chips not supporting GI-correlation and 0xFFFFFFFF
  1057. for chips that support, usually.
  1058. <legal all>
  1059. */
  1060. #define TX_FES_SETUP_TRANSMIT_CCA_BITMAP_OFFSET 0x0000000000000010
  1061. #define TX_FES_SETUP_TRANSMIT_CCA_BITMAP_LSB 32
  1062. #define TX_FES_SETUP_TRANSMIT_CCA_BITMAP_MSB 63
  1063. #define TX_FES_SETUP_TRANSMIT_CCA_BITMAP_MASK 0xffffffff00000000
  1064. /* Description TB_RANGING
  1065. Indicates that this frame is generated for a TB ranging
  1066. sequence
  1067. <legal all>
  1068. */
  1069. #define TX_FES_SETUP_TB_RANGING_OFFSET 0x0000000000000018
  1070. #define TX_FES_SETUP_TB_RANGING_LSB 0
  1071. #define TX_FES_SETUP_TB_RANGING_MSB 0
  1072. #define TX_FES_SETUP_TB_RANGING_MASK 0x0000000000000001
  1073. /* Description RANGING_TRIGGER_SUBTYPE
  1074. Field only valid if TB_Ranging is set
  1075. Indicates the Trigger subtype for the current ranging TF
  1076. <enum 0 TF_Poll>
  1077. <enum 1 TF_Sound>
  1078. <enum 2 TF_Secure_Sound>
  1079. <enum 3 TF_Report>
  1080. <legal 0-3>
  1081. */
  1082. #define TX_FES_SETUP_RANGING_TRIGGER_SUBTYPE_OFFSET 0x0000000000000018
  1083. #define TX_FES_SETUP_RANGING_TRIGGER_SUBTYPE_LSB 1
  1084. #define TX_FES_SETUP_RANGING_TRIGGER_SUBTYPE_MSB 4
  1085. #define TX_FES_SETUP_RANGING_TRIGGER_SUBTYPE_MASK 0x000000000000001e
  1086. /* Description MIN_CTS2SELF_COUNT
  1087. Field only valid when max_cts2self_count is non-zero
  1088. This is the minimum number of CTS2SELF frames that PDG should
  1089. transmit before the actual data transmission.
  1090. */
  1091. #define TX_FES_SETUP_MIN_CTS2SELF_COUNT_OFFSET 0x0000000000000018
  1092. #define TX_FES_SETUP_MIN_CTS2SELF_COUNT_LSB 5
  1093. #define TX_FES_SETUP_MIN_CTS2SELF_COUNT_MSB 8
  1094. #define TX_FES_SETUP_MIN_CTS2SELF_COUNT_MASK 0x00000000000001e0
  1095. /* Description MAX_CTS2SELF_COUNT
  1096. Field only valid when non-zero
  1097. This is the maximum number of CTS2SELF frames that PDG is
  1098. allowed to transmit before the actual data transmission.
  1099. PDG will only use these additional frames if MPDU info from
  1100. TQM or CV-correlation info from microcode is delayed.
  1101. */
  1102. #define TX_FES_SETUP_MAX_CTS2SELF_COUNT_OFFSET 0x0000000000000018
  1103. #define TX_FES_SETUP_MAX_CTS2SELF_COUNT_LSB 9
  1104. #define TX_FES_SETUP_MAX_CTS2SELF_COUNT_MSB 12
  1105. #define TX_FES_SETUP_MAX_CTS2SELF_COUNT_MASK 0x0000000000001e00
  1106. /* Description WIFI_RADAR_ENABLE
  1107. When set to 1, the packet is intended to be used by PHY
  1108. for WiFi radar (by sensing the reflected WiFi signal).
  1109. <legal all>
  1110. */
  1111. #define TX_FES_SETUP_WIFI_RADAR_ENABLE_OFFSET 0x0000000000000018
  1112. #define TX_FES_SETUP_WIFI_RADAR_ENABLE_LSB 13
  1113. #define TX_FES_SETUP_WIFI_RADAR_ENABLE_MSB 13
  1114. #define TX_FES_SETUP_WIFI_RADAR_ENABLE_MASK 0x0000000000002000
  1115. /* Description RESERVED_6A
  1116. Bit 14: cqi_feedback:
  1117. Consumer: TXPCU
  1118. Producer: SCH
  1119. MSB of the expected feedback type of received CBF frame
  1120. after sending NDP or BR-Poll in case of HE/EHT sounding.
  1121. See field cbf_feedback_type above for the LSB. This field
  1122. is compared only if cbf_feedback_type_mask is set to 1.
  1123. 0: compressed beamforming feedback
  1124. 1: CQI feedback
  1125. <legal 0-1>
  1126. */
  1127. #define TX_FES_SETUP_RESERVED_6A_OFFSET 0x0000000000000018
  1128. #define TX_FES_SETUP_RESERVED_6A_LSB 14
  1129. #define TX_FES_SETUP_RESERVED_6A_MSB 31
  1130. #define TX_FES_SETUP_RESERVED_6A_MASK 0x00000000ffffc000
  1131. /* Description MONITOR_OVERRIDE_STA_31_0
  1132. Used by TXMON
  1133. LSB 32 bits of a 37-bit user bitmap with 1s denoting the
  1134. 'tlv_usr' values that correspond to'Monitor override client's
  1135. When enabled in TXMON, it will discard the user-TLVs of
  1136. the users not selected by the bitmap. FW should program
  1137. this setting in line with the 'Monitor_override_sta' setting
  1138. in the 'ADDR_SEARCH_ENTRY' corresponding to each of the
  1139. clients.
  1140. <legal all>
  1141. */
  1142. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_31_0_OFFSET 0x0000000000000018
  1143. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_31_0_LSB 32
  1144. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_31_0_MSB 63
  1145. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_31_0_MASK 0xffffffff00000000
  1146. /* Description MONITOR_OVERRIDE_STA_36_32
  1147. Used by TXMON
  1148. MSB 5 bits of a 37-bit user bitmap with 1s denoting the 'tlv_usr'
  1149. values that correspond to 'Monitor override client's
  1150. <legal all>
  1151. */
  1152. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_36_32_OFFSET 0x0000000000000020
  1153. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_36_32_LSB 0
  1154. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_36_32_MSB 4
  1155. #define TX_FES_SETUP_MONITOR_OVERRIDE_STA_36_32_MASK 0x000000000000001f
  1156. /* Description RESERVED_8A
  1157. <legal 0>
  1158. */
  1159. #define TX_FES_SETUP_RESERVED_8A_OFFSET 0x0000000000000020
  1160. #define TX_FES_SETUP_RESERVED_8A_LSB 5
  1161. #define TX_FES_SETUP_RESERVED_8A_MSB 31
  1162. #define TX_FES_SETUP_RESERVED_8A_MASK 0x00000000ffffffe0
  1163. /* Description FW2SW_INFO
  1164. This field is provided by FW, to be logged via TXMON to
  1165. host SW. It is transparent to HW.
  1166. <legal all>
  1167. */
  1168. #define TX_FES_SETUP_FW2SW_INFO_OFFSET 0x0000000000000020
  1169. #define TX_FES_SETUP_FW2SW_INFO_LSB 32
  1170. #define TX_FES_SETUP_FW2SW_INFO_MSB 63
  1171. #define TX_FES_SETUP_FW2SW_INFO_MASK 0xffffffff00000000
  1172. #endif // TX_FES_SETUP