xref: /wlan-driver/fw-api/hw/qca5332/tx_fes_status_user_response.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 
2 /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 #ifndef _TX_FES_STATUS_USER_RESPONSE_H_
27 #define _TX_FES_STATUS_USER_RESPONSE_H_
28 #if !defined(__ASSEMBLER__)
29 #endif
30 
31 #include "phytx_abort_request_info.h"
32 #define NUM_OF_DWORDS_TX_FES_STATUS_USER_RESPONSE 2
33 
34 #define NUM_OF_QWORDS_TX_FES_STATUS_USER_RESPONSE 1
35 
36 
37 struct tx_fes_status_user_response {
38 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
39              uint32_t fes_transmit_result                                     :  4, // [3:0]
40                       reserved_0                                              : 28; // [31:4]
41              struct   phytx_abort_request_info                                  phytx_abort_request_info_details;
42              uint16_t reserved_after_struct16                                 : 16; // [31:16]
43 #else
44              uint32_t reserved_0                                              : 28, // [31:4]
45                       fes_transmit_result                                     :  4; // [3:0]
46              uint32_t reserved_after_struct16                                 : 16; // [31:16]
47              struct   phytx_abort_request_info                                  phytx_abort_request_info_details;
48 #endif
49 };
50 
51 
52 /* Description		FES_TRANSMIT_RESULT
53 
54 			Transmit result:
55 
56 			<enum 0 tx_ok> Successful transmission of entire Frame exchange
57 			 sequence
58 			<enum 1 prot_resp_rx_timeout>
59 			No Protection response frame received so timeout is triggered.
60 
61 			<enum 2 ppdu_resp_rx_timeout> No PPDU response frame received
62 			 so timeout is triggered.
63 			<enum 3 resp_frame_crc_err> Response frame was received
64 			with an invalid FCS.
65 			<enum 4 SU_Response_type_mismatch> Response frame is received
66 			 without CRC error but it's not matched with expected SU_Response_type.
67 
68 			<enum 5 cbf_mimo_ctrl_mismatch> Set if CBF is received without
69 			 any error but the Nr, Nc, BW, type or token in VHT MIMO
70 			 control field is not matched with expected values which
71 			 are specified by TX_FES_SETUP.cbf_* fields.
72 			 <enum 7 MU_Response_type_mismatch> Response frame is received
73 			 without CRC error but it's not matched with expected SU_Response_type.
74 
75 			<enum 8 MU_Response_mpdu_not_valid>  For this user, no MPDU
76 			 was received at all, or all received MPDUs had an FCS error.
77 
78 
79 			<enum 9 MU_UL_not_enough_user_response> An MU UL response
80 			 reception was expected. That response came but the threshold
81 			 for number of successful user receptions was not met.
82 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
83 			 TLV...
84 			<enum 10 Transmit_data_null_ratio_not_met> transmission
85 			was successful and proper responses have been received.
86 			But the required ratio between useful MPDU data and null
87 			 delimiters was not met as specified by field : Fes_continuation_ratio_threshold.
88 			The FES (and potentially the SIFS burst) shall be terminated
89 			 by the SCHeduler
90 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
91 			 TLV...
92 
93 			<enum 6 TB_ranging_resp_timeout> A TB ranging response was
94 			 expected for a sounding TF, but the response did not arrive
95 			 and timeout is triggered.
96 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
97 			 TLV...
98 			<enum 11 tb_ranging_resp_mismatch> A TB ranging response
99 			 was expected for a sounding TF, but the reception did not
100 			 match the expected response.
101 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
102 			 TLV...
103 
104 			<legal 0-11>
105 */
106 
107 #define TX_FES_STATUS_USER_RESPONSE_FES_TRANSMIT_RESULT_OFFSET                      0x0000000000000000
108 #define TX_FES_STATUS_USER_RESPONSE_FES_TRANSMIT_RESULT_LSB                         0
109 #define TX_FES_STATUS_USER_RESPONSE_FES_TRANSMIT_RESULT_MSB                         3
110 #define TX_FES_STATUS_USER_RESPONSE_FES_TRANSMIT_RESULT_MASK                        0x000000000000000f
111 
112 
113 /* Description		RESERVED_0
114 
115 			Bits [15:4]: BAR_start_sequence_number:
116 
117 			Starting sequence number to be overwritten by TXPCU for
118 			BAR or MU-BAR Trigger, to be copied from 'MPDU_QUEUE_OVERVIEW'
119 			by TXPCU
120 
121 			Bit [16]: BAR_SSN_overwrite_enable:
122 
123 			Enable for TXPCU overwrite of the starting sequence number
124 			 for BAR or MU-BAR Trigger, to be copied from 'TX_QUEUE_EXTENSION'
125 			by TXPCU
126 
127 			Not supported in Hamilton v1
128 			<legal 0-8191>
129 */
130 
131 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_0_OFFSET                               0x0000000000000000
132 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_0_LSB                                  4
133 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_0_MSB                                  31
134 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_0_MASK                                 0x00000000fffffff0
135 
136 
137 /* Description		PHYTX_ABORT_REQUEST_INFO_DETAILS
138 
139 			The reason why PHYTX is requesting an abort
140 */
141 
142 
143 /* Description		PHYTX_ABORT_REASON
144 
145 			Reason for early termination of TX packet by the PHY
146 
147 			<enum_type PHYTX_ABORT_ENUM>
148 */
149 
150 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_OFFSET 0x0000000000000000
151 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_LSB 32
152 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MSB 39
153 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MASK 0x000000ff00000000
154 
155 
156 /* Description		USER_NUMBER
157 
158 			For some errors, the user for which this error was detected
159 			 can be indicated in this field.
160 			<legal 0-36>
161 */
162 
163 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_OFFSET 0x0000000000000000
164 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_LSB 40
165 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MSB 45
166 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MASK 0x00003f0000000000
167 
168 
169 /* Description		RESERVED
170 
171 			<legal 0>
172 */
173 
174 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_OFFSET 0x0000000000000000
175 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_LSB   46
176 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MSB   47
177 #define TX_FES_STATUS_USER_RESPONSE_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MASK  0x0000c00000000000
178 
179 
180 /* Description		RESERVED_AFTER_STRUCT16
181 
182 			<legal 0>
183 */
184 
185 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_AFTER_STRUCT16_OFFSET                  0x0000000000000000
186 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_AFTER_STRUCT16_LSB                     48
187 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_AFTER_STRUCT16_MSB                     63
188 #define TX_FES_STATUS_USER_RESPONSE_RESERVED_AFTER_STRUCT16_MASK                    0xffff000000000000
189 
190 
191 
192 #endif   // TX_FES_STATUS_USER_RESPONSE
193