123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626 |
- /* Copyright (c) 2022, 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 _TX_FES_STATUS_START_PPDU_H_
- #define _TX_FES_STATUS_START_PPDU_H_
- #if !defined(__ASSEMBLER__)
- #endif
- #define NUM_OF_DWORDS_TX_FES_STATUS_START_PPDU 4
- #define NUM_OF_QWORDS_TX_FES_STATUS_START_PPDU 2
- struct tx_fes_status_start_ppdu {
- #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
- uint32_t ppdu_timestamp_lower_32 : 32; // [31:0]
- uint32_t ppdu_timestamp_upper_32 : 32; // [31:0]
- uint32_t subband_mask : 16, // [15:0]
- ndp_frame : 2, // [17:16]
- reserved_2b : 2, // [19:18]
- coex_based_tx_bw : 3, // [22:20]
- coex_based_ant_mask : 8, // [30:23]
- reserved_2c : 1; // [31:31]
- uint32_t coex_based_tx_pwr_shared_ant : 8, // [7:0]
- coex_based_tx_pwr_ant : 8, // [15:8]
- concurrent_bt_tx : 1, // [16:16]
- concurrent_wlan_tx : 1, // [17:17]
- concurrent_wan_tx : 1, // [18:18]
- concurrent_wan_rx : 1, // [19:19]
- coex_pwr_reduction_bt : 1, // [20:20]
- coex_pwr_reduction_wlan : 1, // [21:21]
- coex_pwr_reduction_wan : 1, // [22:22]
- coex_result_alt_based : 1, // [23:23]
- request_packet_bw : 3, // [26:24]
- response_type : 5; // [31:27]
- #else
- uint32_t ppdu_timestamp_lower_32 : 32; // [31:0]
- uint32_t ppdu_timestamp_upper_32 : 32; // [31:0]
- uint32_t reserved_2c : 1, // [31:31]
- coex_based_ant_mask : 8, // [30:23]
- coex_based_tx_bw : 3, // [22:20]
- reserved_2b : 2, // [19:18]
- ndp_frame : 2, // [17:16]
- subband_mask : 16; // [15:0]
- uint32_t response_type : 5, // [31:27]
- request_packet_bw : 3, // [26:24]
- coex_result_alt_based : 1, // [23:23]
- coex_pwr_reduction_wan : 1, // [22:22]
- coex_pwr_reduction_wlan : 1, // [21:21]
- coex_pwr_reduction_bt : 1, // [20:20]
- concurrent_wan_rx : 1, // [19:19]
- concurrent_wan_tx : 1, // [18:18]
- concurrent_wlan_tx : 1, // [17:17]
- concurrent_bt_tx : 1, // [16:16]
- coex_based_tx_pwr_ant : 8, // [15:8]
- coex_based_tx_pwr_shared_ant : 8; // [7:0]
- #endif
- };
- /* Description PPDU_TIMESTAMP_LOWER_32
- Global timer value at start of Protection transmission
- */
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_LSB 0
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MSB 31
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MASK 0x00000000ffffffff
- /* Description PPDU_TIMESTAMP_UPPER_32
- Global timer value at start of Protection transmission
- */
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_LSB 32
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MSB 63
- #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MASK 0xffffffff00000000
- /* Description SUBBAND_MASK
- This mask indicates which 20 Mhz channels are actively used
- in the BW or puncture pattern selected for transmit.
-
- Bit 0: primary 20 Mhz
- Bit 1: secondary 20 MHz
- Etc.
-
- Hamilton v1 used bits [8:4] for the 'Response_type' expected
- and bits [10:9] for the 'ndp_frame' field from 'TX_FES_SETUP.'
-
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_LSB 0
- #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MSB 15
- #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MASK 0x000000000000ffff
- /* Description NDP_FRAME
- Bit copied from the TX_FES_SETUP TLV
-
- <enum 0 no_ndp>No NDP transmission
- <enum 1 beamforming_ndp>Beamforming NDP
- <enum 2 he_ranging_ndp>11az NDP (HE Ranging NDP)
- <enum 3 he_feedback_ndp>Short TB (HE Feedback NDP)
- */
- #define TX_FES_STATUS_START_PPDU_NDP_FRAME_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_NDP_FRAME_LSB 16
- #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MSB 17
- #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MASK 0x0000000000030000
- /* Description RESERVED_2B
- <legal 0>
- */
- #define TX_FES_STATUS_START_PPDU_RESERVED_2B_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_RESERVED_2B_LSB 18
- #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MSB 19
- #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MASK 0x00000000000c0000
- /* Description COEX_BASED_TX_BW
- Field valid for regular PPDU frame transmission
-
- This is the transmit bandwidth value
- that is granted by Coex.
-
- <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 TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_LSB 20
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MSB 22
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MASK 0x0000000000700000
- /* Description COEX_BASED_ANT_MASK
- Field valid for regular PPDU or Response frame transmission
-
-
- The antennas allowed to be used for this transmission.
- (Coex is allowed to reduce the number of antennas to be
- used, but not the number of SS)
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_LSB 23
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MSB 30
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MASK 0x000000007f800000
- /* Description RESERVED_2C
- <legal 0>
- */
- #define TX_FES_STATUS_START_PPDU_RESERVED_2C_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_RESERVED_2C_LSB 31
- #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MSB 31
- #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MASK 0x0000000080000000
- /* Description COEX_BASED_TX_PWR_SHARED_ANT
- Field valid for regular PPDU or Response frame transmission
-
-
- Granted tx power for the shared antenna.
-
- Transmit Power in s6.2 format.
- In units of 0.25 dBm
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_LSB 32
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MSB 39
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MASK 0x000000ff00000000
- /* Description COEX_BASED_TX_PWR_ANT
- Field valid for regular PPDU or Response frame transmission
-
-
- Granted tx power for the unshared antenna
- Transmit Power in s6.2 format.
- In units of 0.25 dBm
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_LSB 40
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MSB 47
- #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MASK 0x0000ff0000000000
- /* Description CONCURRENT_BT_TX
- Indicate the current TX is concurrent with a BT transmission.
- This bit is to be copied over into the FES status info.
-
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_LSB 48
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MSB 48
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MASK 0x0001000000000000
- /* Description CONCURRENT_WLAN_TX
- Field valid for regular PPDU or Response frame transmission
-
-
- Indicate the current TX is concurrent with other WLAN transmission.
- This bit is to be copied over into FES status info.
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_LSB 49
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MSB 49
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MASK 0x0002000000000000
- /* Description CONCURRENT_WAN_TX
- Field valid for regular PPDU or Response frame transmission
-
-
- Indicate the current TX is concurrent with WAN transmission.
- This bit is to be copied over into FES status info.
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_LSB 50
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MSB 50
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MASK 0x0004000000000000
- /* Description CONCURRENT_WAN_RX
- Field valid for regular PPDU or Response frame transmission
-
-
- Indicate the current TX is concurrent with WAN reception.
- This bit is to be copied over into FES status info.
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_LSB 51
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MSB 51
- #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MASK 0x0008000000000000
- /* Description COEX_PWR_REDUCTION_BT
- Field valid for regular or response frame transmission.
- When set, transmit power is reduced due to BT coex reason
-
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_LSB 52
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MSB 52
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MASK 0x0010000000000000
- /* Description COEX_PWR_REDUCTION_WLAN
- Field valid for regular or response frame transmission.
- When set, transmit power is reduced due to wlan coex reason
-
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_LSB 53
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MSB 53
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MASK 0x0020000000000000
- /* Description COEX_PWR_REDUCTION_WAN
- Field valid for regular or response frame transmission.
- When set, transmit power is reduced due to wan coex reason
-
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_LSB 54
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MSB 54
- #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MASK 0x0040000000000000
- /* Description COEX_RESULT_ALT_BASED
- Field valid for regular PPDU or Response frame transmission
-
-
- When set, the resulting Coex transmit parameters are based
- alternate transmit settings in the TX_RATE_SETTING STRUCT
- of the original selected BW
-
- When not set, the resulting Coex parameters are based on
- the default transmit settings in the TX_RATE_SETTING STRUCT
-
-
- <legal all>
- */
- #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_LSB 55
- #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MSB 55
- #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MASK 0x0080000000000000
- /* Description REQUEST_PACKET_BW
- The requested transmit BW to PDG
- Note that Coex can have changed the actual allowed transmit
- 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 TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_LSB 56
- #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MSB 58
- #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MASK 0x0700000000000000
- /* Description RESPONSE_TYPE
- PPDU transmission Response type expected
-
- <enum 0 no_response_expected>After transmission of this
- frame, no response in SIFS time is expected
-
- When TXPCU sees this setting, it shall not generated the
- EXPECTED_RESPONSE TLV.
-
- RXPCU should never see this setting
- <enum 1 ack_expected>An ACK frame is expected as response
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 2 ba_64_bitmap_expected>BA with 64 bitmap is expected.
-
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 3 ba_256_expected>BA with 256 bitmap is expected.
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 4 actionnoack_expected>SW sets this after sending
- NDP or BR-Poll.
-
- As PDG has no idea on how long the reception is going to
- be, the reception time of the response will have to be
- programmed by SW in the 'Extend_duration_value_bw...' field
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 5 ack_ba_expected>PDG uses the size info and assumes
- single BA format with ACK and 64 bitmap embedded.
- If SW expects more bitmaps in case of multi-TID, is shall
- program the 'Extend_duration_value_bw...' field for additional
- duration time.
- For TXPCU only the fact that an ACK and/or BA is received
- is important. Reception of only ACK or BA is also considered
- a success.
- SW also typically sets this when sending VHT single MPDU.
- Some chip vendors might send BA rather than ACK in response
- to VHT single MPDU but still we want to accept BA as well.
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 6 cts_expected>SW sets this after queuing RTS frame
- as standalone packet and sending it.
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 7 ack_data_expected>SW sets this after sending PS-Poll.
-
-
- For TXPCU either ACK and/or data reception is considered
- success.
- PDG basis it's response duration calculation on an ACK.
- For the data portion, SW shall program the 'Extend_duration_value_bw...'
- field
- <enum 8 ndp_ack_expected>Reserved for 11ah usage.
- <enum 9 ndp_modified_ack>Reserved for 11ah usage
- <enum 10 ndp_ba_expected>Reserved for 11ah usage.
- <enum 11 ndp_cts_expected>Reserved for 11ah usage
- <enum 12 ndp_ack_or_ndp_modified_ack_expected>Reserved for
- 11ah usage
- <enum 13 ul_mu_ba_expected>NOT SUPPORTED IN NAPIER AX AND
- HASTINGS
-
- TXPCU expects UL MU OFDMA or UL MU MIMO reception.
- As PDG does not know how RUs are assigned for the uplink
- portion, PDG can not calculate the uplink duration. Therefor
- SW shall program the 'Extend_duration_value_bw...' field
-
-
- RXPCU will report any frame received, irrespective of it
- having been UL MU or SU It is TXPCUs responsibility to
- distinguish between the UL MU or SU
-
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO MU_Response_BA_bitmap
- if indeed BA was received
- <enum 14 ul_mu_ba_and_data_expected>NOT SUPPORTED IN NAPIER
- AX AND HASTINGS
-
- TXPCU expects UL MU OFDMA or UL MU MIMO reception.
- As PDG does not know how RUs are assigned for the uplink
- portion, PDG can not calculate the uplink duration. Therefor
- SW shall program the 'Extend_duration_value_bw...' field
-
-
- RXPCU will report any frame received, irrespective of it
- having been UL MU or SU It is TXPCUs responsibility to
- distinguish between the UL MU or SU
-
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_data_bitmap
- and MU_Response_BA_bitmap if indeed BA and data was received
-
- <enum 15 ul_mu_cbf_expected>NOT SUPPORTED IN NAPIER AX AND
- HASTINGS
-
- When selected, CBF frames are expected to be received in
- MU reception (uplink OFDMA or uplink MIMO)
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_cbf_bitmap
- if indeed CBF frames were received.
- <enum 16 ul_mu_frames_expected>When selected, MPDU frames
- are expected in the MU reception (uplink OFDMA or uplink
- MIMO)
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
-
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_bitmap
- if indeed frames were received.
- <enum 17 any_response_to_this_device>Any response expected
- to be send to this device in SIFS time is acceptable.
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
-
- For TXPCU, UL MU or SU is both acceptable.
-
- Can be used for complex OFDMA scenarios. PDG can not calculate
- the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
- field
- <enum 18 any_response_accepted>Any frame in the medium to
- this or any other device, is acceptable as response.
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
-
- For TXPCU, UL MU or SU is both acceptable.
-
- Can be used for complex OFDMA scenarios. PDG can not calculate
- the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
- field
- <enum 19 frameless_phyrx_response_accepted>Any MU frameless
- reception generated by the PHY is acceptable.
-
- PHY indicates this type of reception explicitly in TLV PHYRX_RSSI_LEGACY,
- field Reception_type == reception_is_frameless
-
- RXPCU will report any frame received, irrespective of it
- having been UL MU or SU.
-
- This can be used for complex MU-MIMO or OFDMA scenarios,
- like receiving MU-CTS.
-
- PDG can not calculate the uplink duration. Therefor SW shall
- program the 'Extend_duration_value_bw...' field
- <enum 20 ranging_ndp_and_lmr_expected>SW sets this after
- sending ranging NDPA followed by NDP as an ISTA and NDP
- and LMR (Action No Ack) are expected as back-to-back reception
- in SIFS.
-
- As PDG has no idea on how long the reception is going to
- be, the reception time of the response will have to be
- programmed by SW in the 'Extend_duration_value_bw...' field
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 21 ba_512_expected>BA with 512 bitmap is expected.
-
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 22 ba_1024_expected>BA with 1024 bitmap is expected.
-
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 23 ul_mu_ranging_cts2s_expected>When selected, CTS2S
- frames are expected to be received in MU reception (uplink
- OFDMA)
-
- RXPCU shall check each response for CTS2S and report to
- TXPCU.
-
- TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
- 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed CTS2S
- frames were received.
- <enum 24 ul_mu_ranging_ndp_expected>When selected, UL NDP
- frames are expected to be received in MU reception (uplink
- spatial multiplexing)
-
- RXPCU shall check each response for NDP and report to TXPCU.
-
-
- TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
- 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed NDP
- frames were received.
- <enum 25 ul_mu_ranging_lmr_expected>When selected, LMR frames
- are expected to be received in MU reception (uplink OFDMA
- or uplink MIMO)
-
- RXPCU shall check each response for LMR and report to TXPCU.
-
-
- TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
- 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed LMR
- frames were received.
- */
- #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_LSB 59
- #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MSB 63
- #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MASK 0xf800000000000000
- #endif // TX_FES_STATUS_START_PPDU
|