pdg_response_rate_setting.h 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033
  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 _PDG_RESPONSE_RATE_SETTING_H_
  17. #define _PDG_RESPONSE_RATE_SETTING_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #include "mlo_sta_id_details.h"
  21. #define NUM_OF_DWORDS_PDG_RESPONSE_RATE_SETTING 7
  22. struct pdg_response_rate_setting {
  23. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  24. uint32_t reserved_0a : 1, // [0:0]
  25. tx_antenna_sector_ctrl : 24, // [24:1]
  26. pkt_type : 4, // [28:25]
  27. smoothing : 1, // [29:29]
  28. ldpc : 1, // [30:30]
  29. stbc : 1; // [31:31]
  30. uint32_t alt_tx_pwr : 8, // [7:0]
  31. alt_min_tx_pwr : 8, // [15:8]
  32. alt_nss : 3, // [18:16]
  33. alt_tx_chain_mask : 8, // [26:19]
  34. alt_bw : 3, // [29:27]
  35. stf_ltf_3db_boost : 1, // [30:30]
  36. force_extra_symbol : 1; // [31:31]
  37. uint32_t alt_rate_mcs : 4, // [3:0]
  38. nss : 3, // [6:4]
  39. dpd_enable : 1, // [7:7]
  40. tx_pwr : 8, // [15:8]
  41. min_tx_pwr : 8, // [23:16]
  42. tx_chain_mask : 8; // [31:24]
  43. uint32_t reserved_3a : 8, // [7:0]
  44. sgi : 2, // [9:8]
  45. rate_mcs : 4, // [13:10]
  46. reserved_3b : 2, // [15:14]
  47. tx_pwr_1 : 8, // [23:16]
  48. alt_tx_pwr_1 : 8; // [31:24]
  49. uint32_t aggregation : 1, // [0:0]
  50. dot11ax_bss_color_id : 6, // [6:1]
  51. dot11ax_spatial_reuse : 4, // [10:7]
  52. dot11ax_cp_ltf_size : 2, // [12:11]
  53. dot11ax_dcm : 1, // [13:13]
  54. dot11ax_doppler_indication : 1, // [14:14]
  55. dot11ax_su_extended : 1, // [15:15]
  56. dot11ax_min_packet_extension : 2, // [17:16]
  57. dot11ax_pe_nss : 3, // [20:18]
  58. dot11ax_pe_content : 1, // [21:21]
  59. dot11ax_pe_ltf_size : 2, // [23:22]
  60. dot11ax_chain_csd_en : 1, // [24:24]
  61. dot11ax_pe_chain_csd_en : 1, // [25:25]
  62. dot11ax_dl_ul_flag : 1, // [26:26]
  63. reserved_4a : 5; // [31:27]
  64. uint32_t dot11ax_ext_ru_start_index : 4, // [3:0]
  65. dot11ax_ext_ru_size : 4, // [7:4]
  66. eht_duplicate_mode : 2, // [9:8]
  67. he_sigb_dcm : 1, // [10:10]
  68. he_sigb_0_mcs : 3, // [13:11]
  69. num_he_sigb_sym : 5, // [18:14]
  70. required_response_time_source : 1, // [19:19]
  71. reserved_5a : 6, // [25:20]
  72. u_sig_puncture_pattern_encoding : 6; // [31:26]
  73. struct mlo_sta_id_details mlo_sta_id_details_rx;
  74. uint16_t required_response_time : 12, // [27:16]
  75. dot11be_params_placeholder : 4; // [31:28]
  76. #else
  77. uint32_t stbc : 1, // [31:31]
  78. ldpc : 1, // [30:30]
  79. smoothing : 1, // [29:29]
  80. pkt_type : 4, // [28:25]
  81. tx_antenna_sector_ctrl : 24, // [24:1]
  82. reserved_0a : 1; // [0:0]
  83. uint32_t force_extra_symbol : 1, // [31:31]
  84. stf_ltf_3db_boost : 1, // [30:30]
  85. alt_bw : 3, // [29:27]
  86. alt_tx_chain_mask : 8, // [26:19]
  87. alt_nss : 3, // [18:16]
  88. alt_min_tx_pwr : 8, // [15:8]
  89. alt_tx_pwr : 8; // [7:0]
  90. uint32_t tx_chain_mask : 8, // [31:24]
  91. min_tx_pwr : 8, // [23:16]
  92. tx_pwr : 8, // [15:8]
  93. dpd_enable : 1, // [7:7]
  94. nss : 3, // [6:4]
  95. alt_rate_mcs : 4; // [3:0]
  96. uint32_t alt_tx_pwr_1 : 8, // [31:24]
  97. tx_pwr_1 : 8, // [23:16]
  98. reserved_3b : 2, // [15:14]
  99. rate_mcs : 4, // [13:10]
  100. sgi : 2, // [9:8]
  101. reserved_3a : 8; // [7:0]
  102. uint32_t reserved_4a : 5, // [31:27]
  103. dot11ax_dl_ul_flag : 1, // [26:26]
  104. dot11ax_pe_chain_csd_en : 1, // [25:25]
  105. dot11ax_chain_csd_en : 1, // [24:24]
  106. dot11ax_pe_ltf_size : 2, // [23:22]
  107. dot11ax_pe_content : 1, // [21:21]
  108. dot11ax_pe_nss : 3, // [20:18]
  109. dot11ax_min_packet_extension : 2, // [17:16]
  110. dot11ax_su_extended : 1, // [15:15]
  111. dot11ax_doppler_indication : 1, // [14:14]
  112. dot11ax_dcm : 1, // [13:13]
  113. dot11ax_cp_ltf_size : 2, // [12:11]
  114. dot11ax_spatial_reuse : 4, // [10:7]
  115. dot11ax_bss_color_id : 6, // [6:1]
  116. aggregation : 1; // [0:0]
  117. uint32_t u_sig_puncture_pattern_encoding : 6, // [31:26]
  118. reserved_5a : 6, // [25:20]
  119. required_response_time_source : 1, // [19:19]
  120. num_he_sigb_sym : 5, // [18:14]
  121. he_sigb_0_mcs : 3, // [13:11]
  122. he_sigb_dcm : 1, // [10:10]
  123. eht_duplicate_mode : 2, // [9:8]
  124. dot11ax_ext_ru_size : 4, // [7:4]
  125. dot11ax_ext_ru_start_index : 4; // [3:0]
  126. uint32_t dot11be_params_placeholder : 4, // [31:28]
  127. required_response_time : 12; // [27:16]
  128. struct mlo_sta_id_details mlo_sta_id_details_rx;
  129. #endif
  130. };
  131. /* Description RESERVED_0A
  132. <legal 0>
  133. */
  134. #define PDG_RESPONSE_RATE_SETTING_RESERVED_0A_OFFSET 0x00000000
  135. #define PDG_RESPONSE_RATE_SETTING_RESERVED_0A_LSB 0
  136. #define PDG_RESPONSE_RATE_SETTING_RESERVED_0A_MSB 0
  137. #define PDG_RESPONSE_RATE_SETTING_RESERVED_0A_MASK 0x00000001
  138. /* Description TX_ANTENNA_SECTOR_CTRL
  139. Sectored transmit antenna
  140. <legal all>
  141. */
  142. #define PDG_RESPONSE_RATE_SETTING_TX_ANTENNA_SECTOR_CTRL_OFFSET 0x00000000
  143. #define PDG_RESPONSE_RATE_SETTING_TX_ANTENNA_SECTOR_CTRL_LSB 1
  144. #define PDG_RESPONSE_RATE_SETTING_TX_ANTENNA_SECTOR_CTRL_MSB 24
  145. #define PDG_RESPONSE_RATE_SETTING_TX_ANTENNA_SECTOR_CTRL_MASK 0x01fffffe
  146. /* Description PKT_TYPE
  147. Packet type:
  148. <enum 0 dot11a>802.11a PPDU type
  149. <enum 1 dot11b>802.11b PPDU type
  150. <enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
  151. <enum 3 dot11ac>802.11ac PPDU type
  152. <enum 4 dot11ax>802.11ax PPDU type
  153. <enum 5 dot11ba>802.11ba (WUR) PPDU type
  154. <enum 6 dot11be>802.11be PPDU type
  155. <enum 7 dot11az>802.11az (ranging) PPDU type
  156. <enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported
  157. & aborted)
  158. */
  159. #define PDG_RESPONSE_RATE_SETTING_PKT_TYPE_OFFSET 0x00000000
  160. #define PDG_RESPONSE_RATE_SETTING_PKT_TYPE_LSB 25
  161. #define PDG_RESPONSE_RATE_SETTING_PKT_TYPE_MSB 28
  162. #define PDG_RESPONSE_RATE_SETTING_PKT_TYPE_MASK 0x1e000000
  163. /* Description SMOOTHING
  164. This field is used by PDG to populate the SMOOTHING filed
  165. in the SIG Preamble of the PPDU
  166. <legal 0-1>
  167. */
  168. #define PDG_RESPONSE_RATE_SETTING_SMOOTHING_OFFSET 0x00000000
  169. #define PDG_RESPONSE_RATE_SETTING_SMOOTHING_LSB 29
  170. #define PDG_RESPONSE_RATE_SETTING_SMOOTHING_MSB 29
  171. #define PDG_RESPONSE_RATE_SETTING_SMOOTHING_MASK 0x20000000
  172. /* Description LDPC
  173. When set, use LDPC transmission rates
  174. */
  175. #define PDG_RESPONSE_RATE_SETTING_LDPC_OFFSET 0x00000000
  176. #define PDG_RESPONSE_RATE_SETTING_LDPC_LSB 30
  177. #define PDG_RESPONSE_RATE_SETTING_LDPC_MSB 30
  178. #define PDG_RESPONSE_RATE_SETTING_LDPC_MASK 0x40000000
  179. /* Description STBC
  180. When set, use STBC transmission rates
  181. */
  182. #define PDG_RESPONSE_RATE_SETTING_STBC_OFFSET 0x00000000
  183. #define PDG_RESPONSE_RATE_SETTING_STBC_LSB 31
  184. #define PDG_RESPONSE_RATE_SETTING_STBC_MSB 31
  185. #define PDG_RESPONSE_RATE_SETTING_STBC_MASK 0x80000000
  186. /* Description ALT_TX_PWR
  187. Coex related AlternativeTransmit parameter
  188. Transmit Power in s6.2 format.
  189. In units of 0.25 dBm
  190. <legal all>
  191. */
  192. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_OFFSET 0x00000004
  193. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_LSB 0
  194. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_MSB 7
  195. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_MASK 0x000000ff
  196. /* Description ALT_MIN_TX_PWR
  197. Coex related Alternative Transmit parameter
  198. Minimum allowed Transmit Power in s6.2 format.
  199. In units of 0.25 dBm
  200. <legal all>
  201. */
  202. #define PDG_RESPONSE_RATE_SETTING_ALT_MIN_TX_PWR_OFFSET 0x00000004
  203. #define PDG_RESPONSE_RATE_SETTING_ALT_MIN_TX_PWR_LSB 8
  204. #define PDG_RESPONSE_RATE_SETTING_ALT_MIN_TX_PWR_MSB 15
  205. #define PDG_RESPONSE_RATE_SETTING_ALT_MIN_TX_PWR_MASK 0x0000ff00
  206. /* Description ALT_NSS
  207. Coex related Alternative Transmit parameter
  208. Number of spatial streams.
  209. <enum 0 1_spatial_stream>Single spatial stream
  210. <enum 1 2_spatial_streams>2 spatial streams
  211. <enum 2 3_spatial_streams>3 spatial streams
  212. <enum 3 4_spatial_streams>4 spatial streams
  213. <enum 4 5_spatial_streams>5 spatial streams
  214. <enum 5 6_spatial_streams>6 spatial streams
  215. <enum 6 7_spatial_streams>7 spatial streams
  216. <enum 7 8_spatial_streams>8 spatial streams
  217. */
  218. #define PDG_RESPONSE_RATE_SETTING_ALT_NSS_OFFSET 0x00000004
  219. #define PDG_RESPONSE_RATE_SETTING_ALT_NSS_LSB 16
  220. #define PDG_RESPONSE_RATE_SETTING_ALT_NSS_MSB 18
  221. #define PDG_RESPONSE_RATE_SETTING_ALT_NSS_MASK 0x00070000
  222. /* Description ALT_TX_CHAIN_MASK
  223. Coex related Alternative Transmit parameter
  224. Chain mask to support up to 8 antennas.
  225. <legal 1-255>
  226. */
  227. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_CHAIN_MASK_OFFSET 0x00000004
  228. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_CHAIN_MASK_LSB 19
  229. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_CHAIN_MASK_MSB 26
  230. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_CHAIN_MASK_MASK 0x07f80000
  231. /* Description ALT_BW
  232. Coex related Alternative Transmit parameter
  233. The BW of the upcoming transmission.
  234. <enum 0 20_mhz>20 Mhz BW
  235. <enum 1 40_mhz>40 Mhz BW
  236. <enum 2 80_mhz>80 Mhz BW
  237. <enum 3 160_mhz>160 Mhz BW
  238. <enum 4 320_mhz>320 Mhz BW
  239. <enum 5 240_mhz>240 Mhz BW
  240. */
  241. #define PDG_RESPONSE_RATE_SETTING_ALT_BW_OFFSET 0x00000004
  242. #define PDG_RESPONSE_RATE_SETTING_ALT_BW_LSB 27
  243. #define PDG_RESPONSE_RATE_SETTING_ALT_BW_MSB 29
  244. #define PDG_RESPONSE_RATE_SETTING_ALT_BW_MASK 0x38000000
  245. /* Description STF_LTF_3DB_BOOST
  246. Boost the STF and LTF power by 3dB in 11a/n/ac packets.
  247. This includes both the legacy preambles and the HT/VHT preambles.0:
  248. disable power boost1: enable power boost
  249. <legal all>
  250. */
  251. #define PDG_RESPONSE_RATE_SETTING_STF_LTF_3DB_BOOST_OFFSET 0x00000004
  252. #define PDG_RESPONSE_RATE_SETTING_STF_LTF_3DB_BOOST_LSB 30
  253. #define PDG_RESPONSE_RATE_SETTING_STF_LTF_3DB_BOOST_MSB 30
  254. #define PDG_RESPONSE_RATE_SETTING_STF_LTF_3DB_BOOST_MASK 0x40000000
  255. /* Description FORCE_EXTRA_SYMBOL
  256. Set to 1 to force an extra OFDM symbol (or symbols) even
  257. if the PPDU encoding process does not result in an extra
  258. OFDM symbol (or symbols)
  259. */
  260. #define PDG_RESPONSE_RATE_SETTING_FORCE_EXTRA_SYMBOL_OFFSET 0x00000004
  261. #define PDG_RESPONSE_RATE_SETTING_FORCE_EXTRA_SYMBOL_LSB 31
  262. #define PDG_RESPONSE_RATE_SETTING_FORCE_EXTRA_SYMBOL_MSB 31
  263. #define PDG_RESPONSE_RATE_SETTING_FORCE_EXTRA_SYMBOL_MASK 0x80000000
  264. /* Description ALT_RATE_MCS
  265. Coex related Alternative Transmit parameter
  266. For details, refer to MCS_TYPE
  267. Note: This is "rate" in case of 11a/11b
  268. description
  269. <legal all>
  270. */
  271. #define PDG_RESPONSE_RATE_SETTING_ALT_RATE_MCS_OFFSET 0x00000008
  272. #define PDG_RESPONSE_RATE_SETTING_ALT_RATE_MCS_LSB 0
  273. #define PDG_RESPONSE_RATE_SETTING_ALT_RATE_MCS_MSB 3
  274. #define PDG_RESPONSE_RATE_SETTING_ALT_RATE_MCS_MASK 0x0000000f
  275. /* Description NSS
  276. Number of spatial streams.
  277. <enum 0 1_spatial_stream>Single spatial stream
  278. <enum 1 2_spatial_streams>2 spatial streams
  279. <enum 2 3_spatial_streams>3 spatial streams
  280. <enum 3 4_spatial_streams>4 spatial streams
  281. <enum 4 5_spatial_streams>5 spatial streams
  282. <enum 5 6_spatial_streams>6 spatial streams
  283. <enum 6 7_spatial_streams>7 spatial streams
  284. <enum 7 8_spatial_streams>8 spatial streams
  285. */
  286. #define PDG_RESPONSE_RATE_SETTING_NSS_OFFSET 0x00000008
  287. #define PDG_RESPONSE_RATE_SETTING_NSS_LSB 4
  288. #define PDG_RESPONSE_RATE_SETTING_NSS_MSB 6
  289. #define PDG_RESPONSE_RATE_SETTING_NSS_MASK 0x00000070
  290. /* Description DPD_ENABLE
  291. DPD enable control
  292. This is needed on a per packet basis
  293. <enum 0 dpd_off> DPD profile not applied to current
  294. packet
  295. <enum 1 dpd_on> DPD profile applied to current packet
  296. if available
  297. <legal 0-1>
  298. This field is not applicable in11ah mode of operation and
  299. is ignored by the HW
  300. */
  301. #define PDG_RESPONSE_RATE_SETTING_DPD_ENABLE_OFFSET 0x00000008
  302. #define PDG_RESPONSE_RATE_SETTING_DPD_ENABLE_LSB 7
  303. #define PDG_RESPONSE_RATE_SETTING_DPD_ENABLE_MSB 7
  304. #define PDG_RESPONSE_RATE_SETTING_DPD_ENABLE_MASK 0x00000080
  305. /* Description TX_PWR
  306. Transmit Power in s6.2 format.
  307. In units of 0.25 dBm
  308. <legal all>
  309. */
  310. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_OFFSET 0x00000008
  311. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_LSB 8
  312. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_MSB 15
  313. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_MASK 0x0000ff00
  314. /* Description MIN_TX_PWR
  315. Coex related field:
  316. Minimum allowed Transmit Power in s6.2 format.
  317. In units of 0.25 dBm
  318. <legal all>
  319. */
  320. #define PDG_RESPONSE_RATE_SETTING_MIN_TX_PWR_OFFSET 0x00000008
  321. #define PDG_RESPONSE_RATE_SETTING_MIN_TX_PWR_LSB 16
  322. #define PDG_RESPONSE_RATE_SETTING_MIN_TX_PWR_MSB 23
  323. #define PDG_RESPONSE_RATE_SETTING_MIN_TX_PWR_MASK 0x00ff0000
  324. /* Description TX_CHAIN_MASK
  325. Chain mask to support up to 8 antennas.
  326. <legal 1-255>
  327. */
  328. #define PDG_RESPONSE_RATE_SETTING_TX_CHAIN_MASK_OFFSET 0x00000008
  329. #define PDG_RESPONSE_RATE_SETTING_TX_CHAIN_MASK_LSB 24
  330. #define PDG_RESPONSE_RATE_SETTING_TX_CHAIN_MASK_MSB 31
  331. #define PDG_RESPONSE_RATE_SETTING_TX_CHAIN_MASK_MASK 0xff000000
  332. /* Description RESERVED_3A
  333. <legal 0>
  334. */
  335. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3A_OFFSET 0x0000000c
  336. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3A_LSB 0
  337. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3A_MSB 7
  338. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3A_MASK 0x000000ff
  339. /* Description SGI
  340. Field only valid when pkt type is HT or VHT.For 11ax see
  341. field Dot11ax_CP_LTF_size
  342. <enum 0 0_8_us_sgi > Legacy normal GI. Can also be used
  343. for HE
  344. <enum 1 0_4_us_sgi > Legacy short GI. Can also be used
  345. for HE
  346. <enum 2 1_6_us_sgi > Not used for pre 11ax pkt_types.
  347. <enum 3 3_2_us_sgi > Not used for pre 11ax pkt_types
  348. <legal 0 - 3>
  349. */
  350. #define PDG_RESPONSE_RATE_SETTING_SGI_OFFSET 0x0000000c
  351. #define PDG_RESPONSE_RATE_SETTING_SGI_LSB 8
  352. #define PDG_RESPONSE_RATE_SETTING_SGI_MSB 9
  353. #define PDG_RESPONSE_RATE_SETTING_SGI_MASK 0x00000300
  354. /* Description RATE_MCS
  355. For details, refer to MCS_TYPE description
  356. Note: This is "rate" in case of 11a/11b
  357. <legal all>
  358. */
  359. #define PDG_RESPONSE_RATE_SETTING_RATE_MCS_OFFSET 0x0000000c
  360. #define PDG_RESPONSE_RATE_SETTING_RATE_MCS_LSB 10
  361. #define PDG_RESPONSE_RATE_SETTING_RATE_MCS_MSB 13
  362. #define PDG_RESPONSE_RATE_SETTING_RATE_MCS_MASK 0x00003c00
  363. /* Description RESERVED_3B
  364. <legal 0>
  365. */
  366. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3B_OFFSET 0x0000000c
  367. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3B_LSB 14
  368. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3B_MSB 15
  369. #define PDG_RESPONSE_RATE_SETTING_RESERVED_3B_MASK 0x0000c000
  370. /* Description TX_PWR_1
  371. Default (desired) transmit parameter for the second chain
  372. Transmit Power in s6.2 format.
  373. In units of 0.25 dBm
  374. Note that there is no Min value for this
  375. <legal all>
  376. */
  377. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_1_OFFSET 0x0000000c
  378. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_1_LSB 16
  379. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_1_MSB 23
  380. #define PDG_RESPONSE_RATE_SETTING_TX_PWR_1_MASK 0x00ff0000
  381. /* Description ALT_TX_PWR_1
  382. Alternate (desired) transmit parameter for the second chain
  383. Transmit Power in s6.2 format.
  384. In units of 0.25 dBm
  385. Note that there is no Min value for this
  386. <legal all>
  387. */
  388. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_1_OFFSET 0x0000000c
  389. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_1_LSB 24
  390. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_1_MSB 31
  391. #define PDG_RESPONSE_RATE_SETTING_ALT_TX_PWR_1_MASK 0xff000000
  392. /* Description AGGREGATION
  393. Field only valid in case of pkt_type == 11n
  394. <enum 0 mpdu> Indicates MPDU format. TXPCU will select
  395. this setting if the CBF response only contains a single
  396. segment
  397. <enum 1 a_mpdu> Indicates A-MPDU format. TXPCU will
  398. select this setting if the CBF response will contain two
  399. or more segments
  400. <legal 0-1>
  401. */
  402. #define PDG_RESPONSE_RATE_SETTING_AGGREGATION_OFFSET 0x00000010
  403. #define PDG_RESPONSE_RATE_SETTING_AGGREGATION_LSB 0
  404. #define PDG_RESPONSE_RATE_SETTING_AGGREGATION_MSB 0
  405. #define PDG_RESPONSE_RATE_SETTING_AGGREGATION_MASK 0x00000001
  406. /* Description DOT11AX_BSS_COLOR_ID
  407. BSS color of the nextwork to which this STA belongs.
  408. When generated by TXPCU, this field is set equal to: Dot11ax_received_Bss_color_id
  409. <legal all>
  410. */
  411. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_BSS_COLOR_ID_OFFSET 0x00000010
  412. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_BSS_COLOR_ID_LSB 1
  413. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_BSS_COLOR_ID_MSB 6
  414. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_BSS_COLOR_ID_MASK 0x0000007e
  415. /* Description DOT11AX_SPATIAL_REUSE
  416. This field is only valid for pkt_type == 11ax
  417. Spatial re-use
  418. <legal all>
  419. */
  420. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SPATIAL_REUSE_OFFSET 0x00000010
  421. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SPATIAL_REUSE_LSB 7
  422. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SPATIAL_REUSE_MSB 10
  423. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SPATIAL_REUSE_MASK 0x00000780
  424. /* Description DOT11AX_CP_LTF_SIZE
  425. field is only valid for pkt_type == 11ax
  426. Indicates the CP and HE-LTF type
  427. <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP
  428. <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP
  429. <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP
  430. <enum 3 FourX_LTF_0_8CP_3_2CP>
  431. When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
  432. When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
  433. In this scenario, Neither DCM nor STBC is applied to HE
  434. data field.
  435. If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
  436. 0 = 1xLTF + 0.4 usec
  437. 1 = 2xLTF + 0.4 usec
  438. 2~3 = Reserved
  439. <legal all>
  440. */
  441. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CP_LTF_SIZE_OFFSET 0x00000010
  442. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CP_LTF_SIZE_LSB 11
  443. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CP_LTF_SIZE_MSB 12
  444. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CP_LTF_SIZE_MASK 0x00001800
  445. /* Description DOT11AX_DCM
  446. field is only valid for pkt_type == 11ax
  447. Indicates whether dual sub-carrier modulation is applied
  448. 0: No DCM
  449. 1:DCM
  450. <legal all>
  451. */
  452. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DCM_OFFSET 0x00000010
  453. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DCM_LSB 13
  454. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DCM_MSB 13
  455. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DCM_MASK 0x00002000
  456. /* Description DOT11AX_DOPPLER_INDICATION
  457. field is only valid for pkt_type == 11ax
  458. 0: No Doppler support
  459. 1: Doppler support
  460. <legal all>
  461. */
  462. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DOPPLER_INDICATION_OFFSET 0x00000010
  463. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DOPPLER_INDICATION_LSB 14
  464. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DOPPLER_INDICATION_MSB 14
  465. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DOPPLER_INDICATION_MASK 0x00004000
  466. /* Description DOT11AX_SU_EXTENDED
  467. field is only valid for pkt_type == 11ax OR pkt_type ==
  468. 11be
  469. When set, the 11ax or 11be frame is of the extended range
  470. format
  471. <legal all>
  472. */
  473. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SU_EXTENDED_OFFSET 0x00000010
  474. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SU_EXTENDED_LSB 15
  475. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SU_EXTENDED_MSB 15
  476. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_SU_EXTENDED_MASK 0x00008000
  477. /* Description DOT11AX_MIN_PACKET_EXTENSION
  478. field is only valid for pkt_type == 11ax OR pkt_type ==
  479. 11be
  480. The min packet extension duration for this user.
  481. 0: no extension
  482. 1: 8us
  483. 2: 16 us
  484. 3: 20 us (only for .11be)
  485. <legal 0-3>
  486. */
  487. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_MIN_PACKET_EXTENSION_OFFSET 0x00000010
  488. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_MIN_PACKET_EXTENSION_LSB 16
  489. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_MIN_PACKET_EXTENSION_MSB 17
  490. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_MIN_PACKET_EXTENSION_MASK 0x00030000
  491. /* Description DOT11AX_PE_NSS
  492. Number of active spatial streams during packet extension.
  493. <enum 0 1_spatial_stream>Single spatial stream
  494. <enum 1 2_spatial_streams>2 spatial streams
  495. <enum 2 3_spatial_streams>3 spatial streams
  496. <enum 3 4_spatial_streams>4 spatial streams
  497. <enum 4 5_spatial_streams>5 spatial streams
  498. <enum 5 6_spatial_streams>6 spatial streams
  499. <enum 6 7_spatial_streams>7 spatial streams
  500. <enum 7 8_spatial_streams>8 spatial streams
  501. */
  502. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_NSS_OFFSET 0x00000010
  503. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_NSS_LSB 18
  504. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_NSS_MSB 20
  505. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_NSS_MASK 0x001c0000
  506. /* Description DOT11AX_PE_CONTENT
  507. Content of packet extension. Valid for all 11ax packets
  508. having packet extension
  509. 0-he_ltf, 1-last_data_symbol
  510. <legal all>
  511. */
  512. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CONTENT_OFFSET 0x00000010
  513. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CONTENT_LSB 21
  514. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CONTENT_MSB 21
  515. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CONTENT_MASK 0x00200000
  516. /* Description DOT11AX_PE_LTF_SIZE
  517. LTF size to be used during packet extention. . This field
  518. is valid for both FTM and non-FTM packets.
  519. 0-1x
  520. 1-2x (unsupported un HWK-1)
  521. 2-4x (unsupported un HWK-1)
  522. <legal all>
  523. */
  524. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_LTF_SIZE_OFFSET 0x00000010
  525. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_LTF_SIZE_LSB 22
  526. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_LTF_SIZE_MSB 23
  527. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_LTF_SIZE_MASK 0x00c00000
  528. /* Description DOT11AX_CHAIN_CSD_EN
  529. This field denotes whether to apply CSD on the preamble
  530. and data portion of the packet. This field is valid for
  531. all transmit packets
  532. 0: disable per-chain csd
  533. 1: enable per-chain csd
  534. <legal all>
  535. */
  536. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CHAIN_CSD_EN_OFFSET 0x00000010
  537. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CHAIN_CSD_EN_LSB 24
  538. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CHAIN_CSD_EN_MSB 24
  539. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_CHAIN_CSD_EN_MASK 0x01000000
  540. /* Description DOT11AX_PE_CHAIN_CSD_EN
  541. This field denotes whether to apply CSD on the packet extension
  542. portion of the packet. This field is valid for all 11ax
  543. packets.
  544. 0: disable per-chain csd
  545. 1: enable per-chain csd
  546. <legal all>
  547. */
  548. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CHAIN_CSD_EN_OFFSET 0x00000010
  549. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CHAIN_CSD_EN_LSB 25
  550. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CHAIN_CSD_EN_MSB 25
  551. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_PE_CHAIN_CSD_EN_MASK 0x02000000
  552. /* Description DOT11AX_DL_UL_FLAG
  553. field is only valid for pkt_type == 11ax
  554. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  555. <enum 1 DL_UL_FLAG_IS_UL>
  556. <legal all>
  557. */
  558. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DL_UL_FLAG_OFFSET 0x00000010
  559. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DL_UL_FLAG_LSB 26
  560. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DL_UL_FLAG_MSB 26
  561. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_DL_UL_FLAG_MASK 0x04000000
  562. /* Description RESERVED_4A
  563. <legal 0>
  564. */
  565. #define PDG_RESPONSE_RATE_SETTING_RESERVED_4A_OFFSET 0x00000010
  566. #define PDG_RESPONSE_RATE_SETTING_RESERVED_4A_LSB 27
  567. #define PDG_RESPONSE_RATE_SETTING_RESERVED_4A_MSB 31
  568. #define PDG_RESPONSE_RATE_SETTING_RESERVED_4A_MASK 0xf8000000
  569. /* Description DOT11AX_EXT_RU_START_INDEX
  570. field is only valid for pkt_type == 11ax and Dot11ax_su_extended
  571. == 1
  572. RU Number to which User is assigned
  573. The RU numbering bitwidth is only enough to cover the 20MHz
  574. BW that extended range allows
  575. <legal 0-8>
  576. */
  577. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_START_INDEX_OFFSET 0x00000014
  578. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_START_INDEX_LSB 0
  579. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_START_INDEX_MSB 3
  580. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_START_INDEX_MASK 0x0000000f
  581. /* Description DOT11AX_EXT_RU_SIZE
  582. field is only valid for pkt_type == 11ax and Dot11ax_su_extended
  583. == 1 or pkt_type == 11be and EHT_duplicate_mode == 1
  584. The size of the RU for this user.
  585. In case of EHT duplicate transmissions, this field indicates
  586. the width of the actual content before duplication, e.g.
  587. a 40 MHz PPDU duplicated to 160 MHz will have the bandwidth
  588. fields indicating 160 MHz and this field set to e-num 4
  589. (RU_484).
  590. <enum 0 RU_26>
  591. <enum 1 RU_52>
  592. <enum 2 RU_106>
  593. <enum 3 RU_242>
  594. <enum 4 RU_484>
  595. <enum 5 RU_996>
  596. <enum 6 RU_1992>
  597. <enum 7 RU_FULLBW> Set when the RU occupies the full packet
  598. bandwidth
  599. <enum 8 RU_FULLBW_240> Set when the RU occupies the full
  600. packet bandwidth
  601. <enum 9 RU_FULLBW_320> Set when the RU occupies the full
  602. packet bandwidth
  603. <enum 10 RU_MULTI_LARGE> DO NOT USE
  604. <enum 11 RU_78> DO NOT USE
  605. <enum 12 RU_132> DO NOT USE
  606. <legal 0-12>
  607. */
  608. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_SIZE_OFFSET 0x00000014
  609. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_SIZE_LSB 4
  610. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_SIZE_MSB 7
  611. #define PDG_RESPONSE_RATE_SETTING_DOT11AX_EXT_RU_SIZE_MASK 0x000000f0
  612. /* Description EHT_DUPLICATE_MODE
  613. Field only valid for pkt_type == 11be
  614. Indicates EHT duplicate modulation
  615. <enum 0 eht_no_duplicate>
  616. <enum 1 eht_2x_duplicate>
  617. <enum 2 eht_4x_duplicate>
  618. <legal 0-2>
  619. */
  620. #define PDG_RESPONSE_RATE_SETTING_EHT_DUPLICATE_MODE_OFFSET 0x00000014
  621. #define PDG_RESPONSE_RATE_SETTING_EHT_DUPLICATE_MODE_LSB 8
  622. #define PDG_RESPONSE_RATE_SETTING_EHT_DUPLICATE_MODE_MSB 9
  623. #define PDG_RESPONSE_RATE_SETTING_EHT_DUPLICATE_MODE_MASK 0x00000300
  624. /* Description HE_SIGB_DCM
  625. Indicates whether dual sub-carrier modulation is applied
  626. to EHT-SIG
  627. <legal all>
  628. */
  629. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_DCM_OFFSET 0x00000014
  630. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_DCM_LSB 10
  631. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_DCM_MSB 10
  632. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_DCM_MASK 0x00000400
  633. /* Description HE_SIGB_0_MCS
  634. Indicates the MCS of EHT-SIG
  635. For details, refer to MCS_TYPE description
  636. <legal all>
  637. */
  638. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_0_MCS_OFFSET 0x00000014
  639. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_0_MCS_LSB 11
  640. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_0_MCS_MSB 13
  641. #define PDG_RESPONSE_RATE_SETTING_HE_SIGB_0_MCS_MASK 0x00003800
  642. /* Description NUM_HE_SIGB_SYM
  643. Indicates the number of EHT-SIG symbols
  644. This field is 0-based with 0 indicating that 1 eht_sig symbol
  645. needs to be transmitted.
  646. <legal all>
  647. */
  648. #define PDG_RESPONSE_RATE_SETTING_NUM_HE_SIGB_SYM_OFFSET 0x00000014
  649. #define PDG_RESPONSE_RATE_SETTING_NUM_HE_SIGB_SYM_LSB 14
  650. #define PDG_RESPONSE_RATE_SETTING_NUM_HE_SIGB_SYM_MSB 18
  651. #define PDG_RESPONSE_RATE_SETTING_NUM_HE_SIGB_SYM_MASK 0x0007c000
  652. /* Description REQUIRED_RESPONSE_TIME_SOURCE
  653. <enum 0 reqd_resp_time_src_is_RXPCU> Typically from received
  654. HT Control for sync MLO response
  655. <enum 1 reqd_resp_time_src_is_FW>
  656. Typically from 'PCU_PPDU_SETUP_INIT' for sync MLO response
  657. to response
  658. <legal all>
  659. */
  660. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_SOURCE_OFFSET 0x00000014
  661. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_SOURCE_LSB 19
  662. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_SOURCE_MSB 19
  663. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_SOURCE_MASK 0x00080000
  664. /* Description RESERVED_5A
  665. <legal 0>
  666. */
  667. #define PDG_RESPONSE_RATE_SETTING_RESERVED_5A_OFFSET 0x00000014
  668. #define PDG_RESPONSE_RATE_SETTING_RESERVED_5A_LSB 20
  669. #define PDG_RESPONSE_RATE_SETTING_RESERVED_5A_MSB 25
  670. #define PDG_RESPONSE_RATE_SETTING_RESERVED_5A_MASK 0x03f00000
  671. /* Description U_SIG_PUNCTURE_PATTERN_ENCODING
  672. 6-bit value copied from 'RX_RESPONSE_REQUIRED_INFO' and 'TX_CBF_INFO'
  673. to pass on to PDG
  674. <legal 0-29>
  675. */
  676. #define PDG_RESPONSE_RATE_SETTING_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET 0x00000014
  677. #define PDG_RESPONSE_RATE_SETTING_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB 26
  678. #define PDG_RESPONSE_RATE_SETTING_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB 31
  679. #define PDG_RESPONSE_RATE_SETTING_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK 0xfc000000
  680. /* Description MLO_STA_ID_DETAILS_RX
  681. 16-bi value copied from 'RX_RESPONSE_REQUIRED_INFO' to pass
  682. on to PDG
  683. Bits 10 and 11 are not valid, bits [9:0] reflect 'NSTR_MLO_STA_ID'
  684. from address search.
  685. See definition of mlo_sta_id_details.
  686. */
  687. /* Description NSTR_MLO_STA_ID
  688. ID of peer participating in non-STR MLO
  689. */
  690. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_OFFSET 0x00000018
  691. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_LSB 0
  692. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MSB 9
  693. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MASK 0x000003ff
  694. /* Description BLOCK_SELF_ML_SYNC
  695. Only valid for TX
  696. When set, this provides an indication to block the peer
  697. for self-link.
  698. */
  699. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_OFFSET 0x00000018
  700. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_LSB 10
  701. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MSB 10
  702. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MASK 0x00000400
  703. /* Description BLOCK_PARTNER_ML_SYNC
  704. Only valid for TX
  705. When set, this provides an indication to block the peer
  706. for partner links.
  707. */
  708. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_OFFSET 0x00000018
  709. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_LSB 11
  710. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MSB 11
  711. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MASK 0x00000800
  712. /* Description NSTR_MLO_STA_ID_VALID
  713. All the fields in this TLV are valid only if this bit is
  714. set.
  715. */
  716. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_OFFSET 0x00000018
  717. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_LSB 12
  718. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MSB 12
  719. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MASK 0x00001000
  720. /* Description RESERVED_0A
  721. <legal 0>
  722. */
  723. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_RESERVED_0A_OFFSET 0x00000018
  724. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_RESERVED_0A_LSB 13
  725. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MSB 15
  726. #define PDG_RESPONSE_RATE_SETTING_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MASK 0x0000e000
  727. /* Description REQUIRED_RESPONSE_TIME
  728. When non-zero, indicates that PDG shall pad the response
  729. transmission to the indicated duration (in us)
  730. */
  731. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_OFFSET 0x00000018
  732. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_LSB 16
  733. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_MSB 27
  734. #define PDG_RESPONSE_RATE_SETTING_REQUIRED_RESPONSE_TIME_MASK 0x0fff0000
  735. /* Description DOT11BE_PARAMS_PLACEHOLDER
  736. 4 bytes for use as placeholders for 'Dot11be_*' parameters
  737. */
  738. #define PDG_RESPONSE_RATE_SETTING_DOT11BE_PARAMS_PLACEHOLDER_OFFSET 0x00000018
  739. #define PDG_RESPONSE_RATE_SETTING_DOT11BE_PARAMS_PLACEHOLDER_LSB 28
  740. #define PDG_RESPONSE_RATE_SETTING_DOT11BE_PARAMS_PLACEHOLDER_MSB 31
  741. #define PDG_RESPONSE_RATE_SETTING_DOT11BE_PARAMS_PLACEHOLDER_MASK 0xf0000000
  742. #endif // PDG_RESPONSE_RATE_SETTING