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