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