1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399 |
- /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
- #ifndef _PDG_RESPONSE_H_
- #define _PDG_RESPONSE_H_
- #if !defined(__ASSEMBLER__)
- #endif
- #include "pdg_response_rate_setting.h"
- #define NUM_OF_DWORDS_PDG_RESPONSE 12
- #define NUM_OF_QWORDS_PDG_RESPONSE 6
- struct pdg_response {
- #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
- struct pdg_response_rate_setting hw_response_rate_info;
- uint32_t hw_response_tx_duration : 16, // [15:0]
- rx_duration_field : 16; // [31:16]
- uint32_t punctured_response_transmission : 1, // [0:0]
- cca_subband_channel_bonding_mask : 16, // [16:1]
- scrambler_seed_override : 2, // [18:17]
- response_density_valid : 1, // [19:19]
- response_density : 5, // [24:20]
- more_data : 1, // [25:25]
- duration_indication : 1, // [26:26]
- relayed_frame : 1, // [27:27]
- address_indicator : 1, // [28:28]
- bandwidth : 3; // [31:29]
- uint32_t ack_id : 16, // [15:0]
- block_ack_bitmap : 16; // [31:16]
- uint32_t response_frame_type : 4, // [3:0]
- ack_id_ext : 10, // [13:4]
- ftm_en : 1, // [14:14]
- group_id : 6, // [20:15]
- sta_partial_aid : 11; // [31:21]
- uint32_t ndp_ba_start_seq_ctrl : 12, // [11:0]
- active_channel : 3, // [14:12]
- txop_duration_all_ones : 1, // [15:15]
- frame_length : 16; // [31:16]
- #else
- struct pdg_response_rate_setting hw_response_rate_info;
- uint32_t rx_duration_field : 16, // [31:16]
- hw_response_tx_duration : 16; // [15:0]
- uint32_t bandwidth : 3, // [31:29]
- address_indicator : 1, // [28:28]
- relayed_frame : 1, // [27:27]
- duration_indication : 1, // [26:26]
- more_data : 1, // [25:25]
- response_density : 5, // [24:20]
- response_density_valid : 1, // [19:19]
- scrambler_seed_override : 2, // [18:17]
- cca_subband_channel_bonding_mask : 16, // [16:1]
- punctured_response_transmission : 1; // [0:0]
- uint32_t block_ack_bitmap : 16, // [31:16]
- ack_id : 16; // [15:0]
- uint32_t sta_partial_aid : 11, // [31:21]
- group_id : 6, // [20:15]
- ftm_en : 1, // [14:14]
- ack_id_ext : 10, // [13:4]
- response_frame_type : 4; // [3:0]
- uint32_t frame_length : 16, // [31:16]
- txop_duration_all_ones : 1, // [15:15]
- active_channel : 3, // [14:12]
- ndp_ba_start_seq_ctrl : 12; // [11:0]
- #endif
- };
- /* Description HW_RESPONSE_RATE_INFO
- All transmit rate related parameters
- */
- /* Description RESERVED_0A
-
- <legal 0>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_LSB 0
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_MSB 0
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_MASK 0x0000000000000001
- /* Description TX_ANTENNA_SECTOR_CTRL
- Sectored transmit antenna
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_LSB 1
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_MSB 24
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_MASK 0x0000000001fffffe
- /* Description PKT_TYPE
- Packet type:
- <enum 0 dot11a>802.11a PPDU type
- <enum 1 dot11b>802.11b PPDU type
- <enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
- <enum 3 dot11ac>802.11ac PPDU type
- <enum 4 dot11ax>802.11ax PPDU type
- <enum 5 dot11ba>802.11ba (WUR) PPDU type
- <enum 6 dot11be>802.11be PPDU type
- <enum 7 dot11az>802.11az (ranging) PPDU type
- <enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported
- & aborted)
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_LSB 25
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_MSB 28
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_MASK 0x000000001e000000
- /* Description SMOOTHING
- This field is used by PDG to populate the SMOOTHING filed
- in the SIG Preamble of the PPDU
- <legal 0-1>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_LSB 29
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_MSB 29
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_MASK 0x0000000020000000
- /* Description LDPC
- When set, use LDPC transmission rates
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_LSB 30
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_MSB 30
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_MASK 0x0000000040000000
- /* Description STBC
- When set, use STBC transmission rates
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_LSB 31
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_MSB 31
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_MASK 0x0000000080000000
- /* Description ALT_TX_PWR
- Coex related AlternativeTransmit parameter
-
- Transmit Power in s6.2 format.
- In units of 0.25 dBm
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_LSB 32
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_MSB 39
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_MASK 0x000000ff00000000
- /* Description ALT_MIN_TX_PWR
- Coex related Alternative Transmit parameter
-
- Minimum allowed Transmit Power in s6.2 format.
- In units of 0.25 dBm
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_LSB 40
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_MSB 47
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_MASK 0x0000ff0000000000
- /* Description ALT_NSS
- Coex related Alternative Transmit parameter
-
- Number of spatial streams.
-
- <enum 0 1_spatial_stream>Single spatial stream
- <enum 1 2_spatial_streams>2 spatial streams
- <enum 2 3_spatial_streams>3 spatial streams
- <enum 3 4_spatial_streams>4 spatial streams
- <enum 4 5_spatial_streams>5 spatial streams
- <enum 5 6_spatial_streams>6 spatial streams
- <enum 6 7_spatial_streams>7 spatial streams
- <enum 7 8_spatial_streams>8 spatial streams
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_LSB 48
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_MSB 50
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_MASK 0x0007000000000000
- /* Description ALT_TX_CHAIN_MASK
- Coex related Alternative Transmit parameter
-
- Chain mask to support up to 8 antennas.
- <legal 1-255>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_LSB 51
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_MSB 58
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_MASK 0x07f8000000000000
- /* Description ALT_BW
- Coex related Alternative Transmit parameter
-
- The BW of the upcoming transmission.
-
- <enum 0 20_mhz>20 Mhz BW
- <enum 1 40_mhz>40 Mhz BW
- <enum 2 80_mhz>80 Mhz BW
- <enum 3 160_mhz>160 Mhz BW
- <enum 4 320_mhz>320 Mhz BW
- <enum 5 240_mhz>240 Mhz BW
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_LSB 59
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_MSB 61
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_MASK 0x3800000000000000
- /* Description STF_LTF_3DB_BOOST
- Boost the STF and LTF power by 3dB in 11a/n/ac packets.
- This includes both the legacy preambles and the HT/VHT preambles.0:
- disable power boost1: enable power boost
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_LSB 62
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_MSB 62
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_MASK 0x4000000000000000
- /* Description FORCE_EXTRA_SYMBOL
- Set to 1 to force an extra OFDM symbol (or symbols) even
- if the PPDU encoding process does not result in an extra
- OFDM symbol (or symbols)
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_OFFSET 0x0000000000000000
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_LSB 63
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_MSB 63
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_MASK 0x8000000000000000
- /* Description ALT_RATE_MCS
- Coex related Alternative Transmit parameter
-
- For details, refer to MCS_TYPE
- Note: This is "rate" in case of 11a/11b
- description
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_LSB 0
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_MSB 3
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_MASK 0x000000000000000f
- /* Description NSS
- Number of spatial streams.
-
- <enum 0 1_spatial_stream>Single spatial stream
- <enum 1 2_spatial_streams>2 spatial streams
- <enum 2 3_spatial_streams>3 spatial streams
- <enum 3 4_spatial_streams>4 spatial streams
- <enum 4 5_spatial_streams>5 spatial streams
- <enum 5 6_spatial_streams>6 spatial streams
- <enum 6 7_spatial_streams>7 spatial streams
- <enum 7 8_spatial_streams>8 spatial streams
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_LSB 4
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_MSB 6
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_MASK 0x0000000000000070
- /* Description DPD_ENABLE
- DPD enable control
-
- This is needed on a per packet basis
- <enum 0 dpd_off> DPD profile not applied to current
- packet
- <enum 1 dpd_on> DPD profile applied to current packet
- if available
- <legal 0-1>
-
- This field is not applicable in11ah mode of operation and
- is ignored by the HW
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_LSB 7
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_MSB 7
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_MASK 0x0000000000000080
- /* Description TX_PWR
- Transmit Power in s6.2 format.
- In units of 0.25 dBm
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_LSB 8
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_MSB 15
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_MASK 0x000000000000ff00
- /* Description MIN_TX_PWR
- Coex related field:
-
- Minimum allowed Transmit Power in s6.2 format.
- In units of 0.25 dBm
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_LSB 16
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_MSB 23
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_MASK 0x0000000000ff0000
- /* Description TX_CHAIN_MASK
- Chain mask to support up to 8 antennas.
- <legal 1-255>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_LSB 24
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_MSB 31
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_MASK 0x00000000ff000000
- /* Description RESERVED_3A
- <legal 0>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_LSB 32
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_MSB 39
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_MASK 0x000000ff00000000
- /* Description SGI
- Field only valid when pkt type is HT or VHT.For 11ax see
- field Dot11ax_CP_LTF_size
-
- <enum 0 0_8_us_sgi > Legacy normal GI. Can also be used
- for HE
- <enum 1 0_4_us_sgi > Legacy short GI. Can also be used
- for HE
- <enum 2 1_6_us_sgi > Not used for pre 11ax pkt_types.
-
- <enum 3 3_2_us_sgi > Not used for pre 11ax pkt_types
-
-
- <legal 0 - 3>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_LSB 40
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_MSB 41
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_MASK 0x0000030000000000
- /* Description RATE_MCS
- For details, refer to MCS_TYPE description
- Note: This is "rate" in case of 11a/11b
-
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_LSB 42
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_MSB 45
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_MASK 0x00003c0000000000
- /* Description RESERVED_3B
- <legal 0>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_LSB 46
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_MSB 47
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_MASK 0x0000c00000000000
- /* Description TX_PWR_1
- Default (desired) transmit parameter for the second chain
-
-
- Transmit Power in s6.2 format.
- In units of 0.25 dBm
-
- Note that there is no Min value for this
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_LSB 48
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_MSB 55
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_MASK 0x00ff000000000000
- /* Description ALT_TX_PWR_1
- Alternate (desired) transmit parameter for the second chain
-
-
- Transmit Power in s6.2 format.
- In units of 0.25 dBm
-
- Note that there is no Min value for this
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_OFFSET 0x0000000000000008
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_LSB 56
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_MSB 63
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_MASK 0xff00000000000000
- /* Description AGGREGATION
- Field only valid in case of pkt_type == 11n
-
- <enum 0 mpdu> Indicates MPDU format. TXPCU will select
- this setting if the CBF response only contains a single
- segment
- <enum 1 a_mpdu> Indicates A-MPDU format. TXPCU will
- select this setting if the CBF response will contain two
- or more segments
- <legal 0-1>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_LSB 0
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_MSB 0
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_MASK 0x0000000000000001
- /* Description DOT11AX_BSS_COLOR_ID
- BSS color of the nextwork to which this STA belongs.
- When generated by TXPCU, this field is set equal to: Dot11ax_received_Bss_color_id
-
-
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_LSB 1
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_MSB 6
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_MASK 0x000000000000007e
- /* Description DOT11AX_SPATIAL_REUSE
- This field is only valid for pkt_type == 11ax
-
- Spatial re-use
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_LSB 7
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_MSB 10
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_MASK 0x0000000000000780
- /* Description DOT11AX_CP_LTF_SIZE
- field is only valid for pkt_type == 11ax
-
- Indicates the CP and HE-LTF type
-
- <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP
- <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP
- <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP
- <enum 3 FourX_LTF_0_8CP_3_2CP>
- When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
- When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
- In this scenario, Neither DCM nor STBC is applied to HE
- data field.
-
- If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
- 0 = 1xLTF + 0.4 usec
- 1 = 2xLTF + 0.4 usec
- 2~3 = Reserved
-
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_LSB 11
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_MSB 12
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_MASK 0x0000000000001800
- /* Description DOT11AX_DCM
- field is only valid for pkt_type == 11ax
-
- Indicates whether dual sub-carrier modulation is applied
-
- 0: No DCM
- 1:DCM
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_LSB 13
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_MSB 13
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_MASK 0x0000000000002000
- /* Description DOT11AX_DOPPLER_INDICATION
- field is only valid for pkt_type == 11ax
-
- 0: No Doppler support
- 1: Doppler support
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_LSB 14
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_MSB 14
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_MASK 0x0000000000004000
- /* Description DOT11AX_SU_EXTENDED
- field is only valid for pkt_type == 11ax OR pkt_type ==
- 11be
-
- When set, the 11ax or 11be frame is of the extended range
- format
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_LSB 15
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_MSB 15
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_MASK 0x0000000000008000
- /* Description DOT11AX_MIN_PACKET_EXTENSION
- field is only valid for pkt_type == 11ax OR pkt_type ==
- 11be
-
- The min packet extension duration for this user.
- 0: no extension
- 1: 8us
- 2: 16 us
- 3: 20 us (only for .11be)
- <legal 0-3>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_LSB 16
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_MSB 17
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_MASK 0x0000000000030000
- /* Description DOT11AX_PE_NSS
- Number of active spatial streams during packet extension.
-
-
- <enum 0 1_spatial_stream>Single spatial stream
- <enum 1 2_spatial_streams>2 spatial streams
- <enum 2 3_spatial_streams>3 spatial streams
- <enum 3 4_spatial_streams>4 spatial streams
- <enum 4 5_spatial_streams>5 spatial streams
- <enum 5 6_spatial_streams>6 spatial streams
- <enum 6 7_spatial_streams>7 spatial streams
- <enum 7 8_spatial_streams>8 spatial streams
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_LSB 18
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_MSB 20
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_MASK 0x00000000001c0000
- /* Description DOT11AX_PE_CONTENT
- Content of packet extension. Valid for all 11ax packets
- having packet extension
-
- 0-he_ltf, 1-last_data_symbol
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_LSB 21
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_MSB 21
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_MASK 0x0000000000200000
- /* Description DOT11AX_PE_LTF_SIZE
- LTF size to be used during packet extention. . This field
- is valid for both FTM and non-FTM packets.
- 0-1x
- 1-2x (unsupported un HWK-1)
- 2-4x (unsupported un HWK-1)
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_LSB 22
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_MSB 23
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_MASK 0x0000000000c00000
- /* Description DOT11AX_CHAIN_CSD_EN
- This field denotes whether to apply CSD on the preamble
- and data portion of the packet. This field is valid for
- all transmit packets
- 0: disable per-chain csd
- 1: enable per-chain csd
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_LSB 24
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_MSB 24
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_MASK 0x0000000001000000
- /* Description DOT11AX_PE_CHAIN_CSD_EN
- This field denotes whether to apply CSD on the packet extension
- portion of the packet. This field is valid for all 11ax
- packets.
- 0: disable per-chain csd
- 1: enable per-chain csd
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_LSB 25
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_MSB 25
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_MASK 0x0000000002000000
- /* Description DOT11AX_DL_UL_FLAG
- field is only valid for pkt_type == 11ax
-
- <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
- <enum 1 DL_UL_FLAG_IS_UL>
-
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_LSB 26
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_MSB 26
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_MASK 0x0000000004000000
- /* Description RESERVED_4A
- <legal 0>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_LSB 27
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_MSB 31
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_MASK 0x00000000f8000000
- /* Description DOT11AX_EXT_RU_START_INDEX
- field is only valid for pkt_type == 11ax and Dot11ax_su_extended
- == 1
-
- RU Number to which User is assigned
-
- The RU numbering bitwidth is only enough to cover the 20MHz
- BW that extended range allows
- <legal 0-8>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_LSB 32
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_MSB 35
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_MASK 0x0000000f00000000
- /* Description DOT11AX_EXT_RU_SIZE
- field is only valid for pkt_type == 11ax and Dot11ax_su_extended
- == 1 or pkt_type == 11be and EHT_duplicate_mode == 1
-
- The size of the RU for this user.
-
- In case of EHT duplicate transmissions, this field indicates
- the width of the actual content before duplication, e.g.
- a 40 MHz PPDU duplicated to 160 MHz will have the bandwidth
- fields indicating 160 MHz and this field set to e-num 4
- (RU_484).
-
- <enum 0 RU_26>
- <enum 1 RU_52>
- <enum 2 RU_106>
- <enum 3 RU_242>
- <enum 4 RU_484>
- <enum 5 RU_996>
- <enum 6 RU_1992>
- <enum 7 RU_FULLBW> Set when the RU occupies the full packet
- bandwidth
- <enum 8 RU_FULLBW_240> Set when the RU occupies the full
- packet bandwidth
- <enum 9 RU_FULLBW_320> Set when the RU occupies the full
- packet bandwidth
- <enum 10 RU_MULTI_LARGE> DO NOT USE
- <enum 11 RU_78> DO NOT USE
- <enum 12 RU_132> DO NOT USE
- <legal 0-12>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_LSB 36
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_MSB 39
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_MASK 0x000000f000000000
- /* Description EHT_DUPLICATE_MODE
- Field only valid for pkt_type == 11be
-
- Indicates EHT duplicate modulation
-
- <enum 0 eht_no_duplicate>
- <enum 1 eht_2x_duplicate>
- <enum 2 eht_4x_duplicate>
-
- <legal 0-2>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_LSB 40
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_MSB 41
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_MASK 0x0000030000000000
- /* Description HE_SIGB_DCM
- Indicates whether dual sub-carrier modulation is applied
- to EHT-SIG
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_LSB 42
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_MSB 42
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_MASK 0x0000040000000000
- /* Description HE_SIGB_0_MCS
- Indicates the MCS of EHT-SIG
-
- For details, refer to MCS_TYPE description
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_LSB 43
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_MSB 45
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_MASK 0x0000380000000000
- /* Description NUM_HE_SIGB_SYM
- Indicates the number of EHT-SIG symbols
-
- This field is 0-based with 0 indicating that 1 eht_sig symbol
- needs to be transmitted.
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_LSB 46
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_MSB 50
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_MASK 0x0007c00000000000
- /* Description REQUIRED_RESPONSE_TIME_SOURCE
- <enum 0 reqd_resp_time_src_is_RXPCU> Typically from received
- HT Control for sync MLO response
- <enum 1 reqd_resp_time_src_is_FW>
- Typically from 'PCU_PPDU_SETUP_INIT' for sync MLO response
- to response
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_LSB 51
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_MSB 51
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_MASK 0x0008000000000000
- /* Description RESERVED_5A
- <legal 0>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_LSB 52
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_MSB 57
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_MASK 0x03f0000000000000
- /* Description U_SIG_PUNCTURE_PATTERN_ENCODING
- 6-bit value copied from 'RX_RESPONSE_REQUIRED_INFO' and 'TX_CBF_INFO'
- to pass on to PDG
- <legal 0-29>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET 0x0000000000000010
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB 58
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB 63
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK 0xfc00000000000000
- /* Description MLO_STA_ID_DETAILS_RX
- 16-bi value copied from 'RX_RESPONSE_REQUIRED_INFO' to pass
- on to PDG
-
- Bits 10 and 11 are not valid, bits [9:0] reflect 'NSTR_MLO_STA_ID'
- from address search.
-
- See definition of mlo_sta_id_details.
- */
- /* Description NSTR_MLO_STA_ID
- ID of peer participating in non-STR MLO
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_LSB 0
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MSB 9
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MASK 0x00000000000003ff
- /* Description BLOCK_SELF_ML_SYNC
- Only valid for TX
-
- When set, this provides an indication to block the peer
- for self-link.
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_LSB 10
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MSB 10
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MASK 0x0000000000000400
- /* Description BLOCK_PARTNER_ML_SYNC
- Only valid for TX
-
- When set, this provides an indication to block the peer
- for partner links.
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_LSB 11
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MSB 11
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MASK 0x0000000000000800
- /* Description NSTR_MLO_STA_ID_VALID
- All the fields in this TLV are valid only if this bit is
- set.
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_LSB 12
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MSB 12
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MASK 0x0000000000001000
- /* Description RESERVED_0A
- <legal 0>
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_LSB 13
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MSB 15
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MASK 0x000000000000e000
- /* Description REQUIRED_RESPONSE_TIME
- When non-zero, indicates that PDG shall pad the response
- transmission to the indicated duration (in us)
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_LSB 16
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_MSB 27
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_MASK 0x000000000fff0000
- /* Description DOT11BE_PARAMS_PLACEHOLDER
- 4 bytes for use as placeholders for 'Dot11be_*' parameters
-
- */
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_LSB 28
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_MSB 31
- #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_MASK 0x00000000f0000000
- /* Description HW_RESPONSE_TX_DURATION
- The amount of time the transmission of the HW response will
- take (in us)
-
- Used for coex.....
-
- This field also represents the 'alt_hw_response_tx_duration'.
- Note that this implies that no different duration can be
- programmed for the default and alt setting. SW should program
- the worst case value in the RXPCU table in case they are
- different.
- <legal all>
- */
- #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_LSB 32
- #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_MSB 47
- #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_MASK 0x0000ffff00000000
- /* Description RX_DURATION_FIELD
- The duration field in the received frame.
- PDG uses this field to calculate what the duration field
- value should be in the response frame.
- This is returned to the TX PCU
-
- This field is used in 11ah mode as well
- <legal all>
- */
- #define PDG_RESPONSE_RX_DURATION_FIELD_OFFSET 0x0000000000000018
- #define PDG_RESPONSE_RX_DURATION_FIELD_LSB 48
- #define PDG_RESPONSE_RX_DURATION_FIELD_MSB 63
- #define PDG_RESPONSE_RX_DURATION_FIELD_MASK 0xffff000000000000
- /* Description PUNCTURED_RESPONSE_TRANSMISSION
- When set, this response frame will be transmitted using
- a puncture transmit pattern that is indicated in the cca_subband_channel_bonding_mask
- field.
-
- Typically used in the Response to response transmissions.
-
- <legal all>
- */
- #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_LSB 0
- #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_MSB 0
- #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_MASK 0x0000000000000001
- /* Description CCA_SUBBAND_CHANNEL_BONDING_MASK
- Field only valid when 'Punctured_response_transmission'
- is set
-
- Indicates which 20 Mhz channels will be used for the transmission.
-
-
- Bit 0: primary 20 Mhz
- Bit 1: secondary 20 MHz.
- Etc.
-
- <legal 1-65535>
- */
- #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_LSB 1
- #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_MSB 16
- #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_MASK 0x000000000001fffe
- /* Description SCRAMBLER_SEED_OVERRIDE
- Used in dynamic BW RTS-CTS, BAR -BA, etc. kind of exchanges.
-
-
- 0: PDG will use all 7 bits of the scrambler seed.
- 1: PDG will override bits [6:5] of the scrambler_seed
- with BW information.
- 2: PDG will override bits [6:5] and bit [3] of the scrambler_seed
- with BW information for .11be dynamic BW procedure.
-
- <legal 0-2>
- */
- #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_LSB 17
- #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_MSB 18
- #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_MASK 0x0000000000060000
- /* Description RESPONSE_DENSITY_VALID
- When set, field Response_density has valid info. TXPCU sets
- this for multi segment CBF response generation.
- <legal all>
- */
- #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_LSB 19
- #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_MSB 19
- #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_MASK 0x0000000000080000
- /* Description RESPONSE_DENSITY
- Field only valid when Response_density_valid is set.
- When Response_density_valid is NOT set, this field is set
- to 0
-
- The MPDU density is required for the response frame (in
- us). PDG will translate this value into minimum number of
- words per MPDU and give this back to TXPCU in TLV PCU_PPDU_SETUP_USER
- field min_mpdu_spacing
-
- TXPCU gets this value from a register.
- <legal all>
- */
- #define PDG_RESPONSE_RESPONSE_DENSITY_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_RESPONSE_DENSITY_LSB 20
- #define PDG_RESPONSE_RESPONSE_DENSITY_MSB 24
- #define PDG_RESPONSE_RESPONSE_DENSITY_MASK 0x0000000001f00000
- /* Description MORE_DATA
- This setting is used for
- NDP ACK response frames
- NDP Modified ACK response frames
- The value of this field comes from a register programming.
- The register resides in TxPCU and is programmed by SW within
- SIFS response time when responding with NDP ACK or NDP
- Modified ACK.
- <legal all>
- */
- #define PDG_RESPONSE_MORE_DATA_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_MORE_DATA_LSB 25
- #define PDG_RESPONSE_MORE_DATA_MSB 25
- #define PDG_RESPONSE_MORE_DATA_MASK 0x0000000002000000
- /* Description DURATION_INDICATION
- This setting is used for
- NDP ACK response frames
- NDP Modified ACK response frames
- The value of this field comes from a register programming.
- The register resides in TxPCU and is programmed by SW within
- SIFS response time when responding with NDP ACK or NDP
- Modified ACK.
- <legal all>
- */
- #define PDG_RESPONSE_DURATION_INDICATION_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_DURATION_INDICATION_LSB 26
- #define PDG_RESPONSE_DURATION_INDICATION_MSB 26
- #define PDG_RESPONSE_DURATION_INDICATION_MASK 0x0000000004000000
- /* Description RELAYED_FRAME
- This setting is used to fill the field in the SIG preamble
- for
- NDP ACK response frame
- This feature is not supported and TxPCU should program this
- field to Zero. PDG will ignore this field.
- <legal all>
- */
- #define PDG_RESPONSE_RELAYED_FRAME_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_RELAYED_FRAME_LSB 27
- #define PDG_RESPONSE_RELAYED_FRAME_MSB 27
- #define PDG_RESPONSE_RELAYED_FRAME_MASK 0x0000000008000000
- /* Description ADDRESS_INDICATOR
- This bit is used to fill the address_indicator field in
- the SIG preamble of NDP CTS response frame.
-
- This feature is not supported and TxPCU should program this
- field to Zero. PDG will use this field to populate the
- NDP response frame
- <legal all>
- */
- #define PDG_RESPONSE_ADDRESS_INDICATOR_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_ADDRESS_INDICATOR_LSB 28
- #define PDG_RESPONSE_ADDRESS_INDICATOR_MSB 28
- #define PDG_RESPONSE_ADDRESS_INDICATOR_MASK 0x0000000010000000
- /* Description BANDWIDTH
- Packet bandwidth:
-
- <enum 0 20_mhz>20 Mhz BW
- <enum 1 40_mhz>40 Mhz BW
- <enum 2 80_mhz>80 Mhz BW
- <enum 3 160_mhz>160 Mhz BW
- <enum 4 320_mhz>320 Mhz BW
- <enum 5 240_mhz>240 Mhz BW
- */
- #define PDG_RESPONSE_BANDWIDTH_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_BANDWIDTH_LSB 29
- #define PDG_RESPONSE_BANDWIDTH_MSB 31
- #define PDG_RESPONSE_BANDWIDTH_MASK 0x00000000e0000000
- /* Description ACK_ID
- ACK_ID in NDP_ACK frames, NDP Modified ACK frames
-
- For BW > 1MHz
- [15:0] = ack_id
-
- For BW = 1MHz
-
- [8:0] = ack_id
- [15:9] = Reserved
- For NDP BA
- If BW=1MHz
- [1:0] = Block ACK ID
- [15:2] = Reserved
-
- If BW>1MHz
- [5:0] = Block ACK ID
- [15:2] = Reserved
- <legal all>
- */
- #define PDG_RESPONSE_ACK_ID_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_ACK_ID_LSB 32
- #define PDG_RESPONSE_ACK_ID_MSB 47
- #define PDG_RESPONSE_ACK_ID_MASK 0x0000ffff00000000
- /* Description BLOCK_ACK_BITMAP
- Block Ack bitmap field for generating the NDP BA frames
- in 1MHz and >= 2MHz
- <legal all>
- */
- #define PDG_RESPONSE_BLOCK_ACK_BITMAP_OFFSET 0x0000000000000020
- #define PDG_RESPONSE_BLOCK_ACK_BITMAP_LSB 48
- #define PDG_RESPONSE_BLOCK_ACK_BITMAP_MSB 63
- #define PDG_RESPONSE_BLOCK_ACK_BITMAP_MASK 0xffff000000000000
- /* Description RESPONSE_FRAME_TYPE
- Coex related field
- <enum 0 Non_11ah_ACK >
- <enum 1 Non_11ah_BA > also used for M-BA
- <enum 2 Non_11ah_CTS >
- <enum 3 AH_NDP_CTS>
- <enum 4 AH_NDP_ACK>
- <enum 5 AH_NDP_BA>
- <enum 6 AH_NDP_MOD_ACK>
- <enum 7 AH_Normal_ACK>
- <enum 8 AH_Normal_BA>
- <enum 9 RTT_ACK>
- <enum 10 CBF_RESPONSE>
- <enum 11 MBA> This can be a multi STA BA or multi TID BA
-
- <enum 12 Ranging_NDP>
- <enum 13 LMR_RESPONSE> Ranging NDP response followed by
- LMR response for Rx ranging NDPA followed by NDP
-
- <legal 0-13>
- */
- #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_LSB 0
- #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_MSB 3
- #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_MASK 0x000000000000000f
- /* Description ACK_ID_EXT
- This is populated by TxPCU from the RX_RESPONSE_REQUIRED_INFO.ack_id_ext.
-
- */
- #define PDG_RESPONSE_ACK_ID_EXT_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_ACK_ID_EXT_LSB 4
- #define PDG_RESPONSE_ACK_ID_EXT_MSB 13
- #define PDG_RESPONSE_ACK_ID_EXT_MASK 0x0000000000003ff0
- /* Description FTM_EN
- This field is set to 1 if the response packet is either
- an FTM_1 or an FTM_2 packet or an HE-Ranging NDP (11az).
-
-
- 0: non-FTM frame
- 1: FTM or HE-Randing NDP Frame
- <legal all>
- */
- #define PDG_RESPONSE_FTM_EN_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_FTM_EN_LSB 14
- #define PDG_RESPONSE_FTM_EN_MSB 14
- #define PDG_RESPONSE_FTM_EN_MASK 0x0000000000004000
- /* Description GROUP_ID
- Specifies the Group ID of response frames transmitted at
- VHT rates for MU transmissions. This filed applies to both
- non-11ah and 11ah modes.
- */
- #define PDG_RESPONSE_GROUP_ID_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_GROUP_ID_LSB 15
- #define PDG_RESPONSE_GROUP_ID_MSB 20
- #define PDG_RESPONSE_GROUP_ID_MASK 0x00000000001f8000
- /* Description STA_PARTIAL_AID
- In 11AH mode of Operation:
-
- This field is used to populate the ID field in the SIG PPDUs
- of BW>1MHz and non-NDP frames. For example, the use case
- would be in a Speed Frame Exchange, we may be generating
- the SIG PPDU in response and this field is needed to populate
- the ID field in the SIGA preamble . This value is based
- on the Table provided by 9.17b section of the Draft P802.11ah_D1.1
- Specification
-
- In 11AH mode of Operation:
-
- This field is also used to populate the field of RA/Parial_BSSID
- in the NDP CTS response frames In non-11AH mode:
-
- In non-11AH mode of Operation:
-
- Specifies the partial AID of response frames transmitted
- at VHT rates.
- <legal all>
- */
- #define PDG_RESPONSE_STA_PARTIAL_AID_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_STA_PARTIAL_AID_LSB 21
- #define PDG_RESPONSE_STA_PARTIAL_AID_MSB 31
- #define PDG_RESPONSE_STA_PARTIAL_AID_MASK 0x00000000ffe00000
- /* Description NDP_BA_START_SEQ_CTRL
- Starting Sequence Control - Sequence number of the first
- MPDU in the frame soliciting the Block Ack.
- */
- #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_LSB 32
- #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_MSB 43
- #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_MASK 0x00000fff00000000
- /* Description ACTIVE_CHANNEL
- This field indicates the active frequency band when the
- packet bandwidth is less than the channel bandwidth. For
- non 11ax packets this is same as the primary channel
- <legal all>
- */
- #define PDG_RESPONSE_ACTIVE_CHANNEL_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_ACTIVE_CHANNEL_LSB 44
- #define PDG_RESPONSE_ACTIVE_CHANNEL_MSB 46
- #define PDG_RESPONSE_ACTIVE_CHANNEL_MASK 0x0000700000000000
- /* Description TXOP_DURATION_ALL_ONES
- When set, either the TXOP_DURATION of the received frame
- was set to all 1s or there is a BSS color collision. The
- TXOP_DURATION of the transmit response should be forced
- to all 1s.
-
- <legal all>
- */
- #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_LSB 47
- #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_MSB 47
- #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_MASK 0x0000800000000000
- /* Description FRAME_LENGTH
- The response frame length in bytes
- (This includes the FCS field)
- <legal all>
- */
- #define PDG_RESPONSE_FRAME_LENGTH_OFFSET 0x0000000000000028
- #define PDG_RESPONSE_FRAME_LENGTH_LSB 48
- #define PDG_RESPONSE_FRAME_LENGTH_MSB 63
- #define PDG_RESPONSE_FRAME_LENGTH_MASK 0xffff000000000000
- #endif // PDG_RESPONSE
|