xref: /wlan-driver/fw-api/hw/qca6290/v2/phyrx_abort_request_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2017 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _PHYRX_ABORT_REQUEST_INFO_H_
20 #define _PHYRX_ABORT_REQUEST_INFO_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 
25 // ################ START SUMMARY #################
26 //
27 //	Dword	Fields
28 //	0	phyrx_abort_reason[7:0], reserved_0[31:8]
29 //
30 // ################ END SUMMARY #################
31 
32 #define NUM_OF_DWORDS_PHYRX_ABORT_REQUEST_INFO 1
33 
34 struct phyrx_abort_request_info {
35              uint32_t phyrx_abort_reason              :  8, //[7:0]
36                       reserved_0                      : 24; //[31:8]
37 };
38 
39 /*
40 
41 phyrx_abort_reason
42 
43 			<enum 0 phyrx_err_phy_off> Reception aborted due to
44 			receiving a PHY_OFF TLV
45 
46 			<enum 1 phyrx_err_synth_off>
47 
48 			<enum 2 phyrx_err_ofdma_timing>
49 
50 			<enum 3 phyrx_err_ofdma_signal_parity>
51 
52 			<enum 4 phyrx_err_ofdma_rate_illegal>
53 
54 			<enum 5 phyrx_err_ofdma_length_illegal>
55 
56 			<enum 6 phyrx_err_ofdma_restart>
57 
58 			<enum 7 phyrx_err_ofdma_service>
59 
60 			<enum 8 phyrx_err_ppdu_ofdma_power_drop>
61 
62 
63 
64 			<enum 9 phyrx_err_cck_blokker>
65 
66 			<enum 10 phyrx_err_cck_timing>
67 
68 			<enum 11 phyrx_err_cck_header_crc>
69 
70 			<enum 12 phyrx_err_cck_rate_illegal>
71 
72 			<enum 13 phyrx_err_cck_length_illegal>
73 
74 			<enum 14 phyrx_err_cck_restart>
75 
76 			<enum 15 phyrx_err_cck_service>
77 
78 			<enum 16 phyrx_err_cck_power_drop>
79 
80 
81 
82 			<enum 17 phyrx_err_ht_crc_err>
83 
84 			<enum 18 phyrx_err_ht_length_illegal>
85 
86 			<enum 19 phyrx_err_ht_rate_illegal>
87 
88 			<enum 20 phyrx_err_ht_zlf>
89 
90 			<enum 21 phyrx_err_false_radar_ext>
91 
92 
93 
94 			<enum 22 phyrx_err_green_field>
95 
96 
97 
98 			<enum 23 phyrx_err_bw_gt_dyn_bw>
99 
100 			<enum 24 phyrx_err_leg_ht_mismatch>
101 
102 			<enum 25 phyrx_err_vht_crc_error>
103 
104 			<enum 26 phyrx_err_vht_siga_unsupported>
105 
106 			<enum 27 phyrx_err_vht_lsig_len_invalid>
107 
108 			<enum 28 phyrx_err_vht_ndp_or_zlf>
109 
110 			<enum 29 phyrx_err_vht_nsym_lt_zero>
111 
112 			<enum 30 phyrx_err_vht_rx_extra_symbol_mismatch>
113 
114 			<enum 31 phyrx_err_vht_rx_skip_group_id0>
115 
116 			<enum 32 phyrx_err_vht_rx_skip_group_id1to62>
117 
118 			<enum 33 phyrx_err_vht_rx_skip_group_id63>
119 
120 			<enum 34 phyrx_err_ofdm_ldpc_decoder_disabled>
121 
122 			<enum 35 phyrx_err_defer_nap>
123 
124 			<enum 36 phyrx_err_fdomain_timeout>
125 
126 			<enum 37 phyrx_err_lsig_rel_check>
127 
128 			<enum 38 phyrx_err_bt_collision>
129 
130 			<enum 39 phyrx_err_unsupported_mu_feedback>
131 
132 			<enum 40 phyrx_err_ppdu_tx_interrupt_rx>
133 
134 			<enum 41 phyrx_err_unsupported_cbf>
135 
136 
137 
138 			<enum 42 phyrx_err_other>  Should not really be used. If
139 			needed, ask for documentation update
140 
141 
142 
143 			<legal 0 - 42>
144 
145 reserved_0
146 
147 			<legal 0>
148 */
149 
150 
151 /* Description		PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON
152 
153 			<enum 0 phyrx_err_phy_off> Reception aborted due to
154 			receiving a PHY_OFF TLV
155 
156 			<enum 1 phyrx_err_synth_off>
157 
158 			<enum 2 phyrx_err_ofdma_timing>
159 
160 			<enum 3 phyrx_err_ofdma_signal_parity>
161 
162 			<enum 4 phyrx_err_ofdma_rate_illegal>
163 
164 			<enum 5 phyrx_err_ofdma_length_illegal>
165 
166 			<enum 6 phyrx_err_ofdma_restart>
167 
168 			<enum 7 phyrx_err_ofdma_service>
169 
170 			<enum 8 phyrx_err_ppdu_ofdma_power_drop>
171 
172 
173 
174 			<enum 9 phyrx_err_cck_blokker>
175 
176 			<enum 10 phyrx_err_cck_timing>
177 
178 			<enum 11 phyrx_err_cck_header_crc>
179 
180 			<enum 12 phyrx_err_cck_rate_illegal>
181 
182 			<enum 13 phyrx_err_cck_length_illegal>
183 
184 			<enum 14 phyrx_err_cck_restart>
185 
186 			<enum 15 phyrx_err_cck_service>
187 
188 			<enum 16 phyrx_err_cck_power_drop>
189 
190 
191 
192 			<enum 17 phyrx_err_ht_crc_err>
193 
194 			<enum 18 phyrx_err_ht_length_illegal>
195 
196 			<enum 19 phyrx_err_ht_rate_illegal>
197 
198 			<enum 20 phyrx_err_ht_zlf>
199 
200 			<enum 21 phyrx_err_false_radar_ext>
201 
202 
203 
204 			<enum 22 phyrx_err_green_field>
205 
206 
207 
208 			<enum 23 phyrx_err_bw_gt_dyn_bw>
209 
210 			<enum 24 phyrx_err_leg_ht_mismatch>
211 
212 			<enum 25 phyrx_err_vht_crc_error>
213 
214 			<enum 26 phyrx_err_vht_siga_unsupported>
215 
216 			<enum 27 phyrx_err_vht_lsig_len_invalid>
217 
218 			<enum 28 phyrx_err_vht_ndp_or_zlf>
219 
220 			<enum 29 phyrx_err_vht_nsym_lt_zero>
221 
222 			<enum 30 phyrx_err_vht_rx_extra_symbol_mismatch>
223 
224 			<enum 31 phyrx_err_vht_rx_skip_group_id0>
225 
226 			<enum 32 phyrx_err_vht_rx_skip_group_id1to62>
227 
228 			<enum 33 phyrx_err_vht_rx_skip_group_id63>
229 
230 			<enum 34 phyrx_err_ofdm_ldpc_decoder_disabled>
231 
232 			<enum 35 phyrx_err_defer_nap>
233 
234 			<enum 36 phyrx_err_fdomain_timeout>
235 
236 			<enum 37 phyrx_err_lsig_rel_check>
237 
238 			<enum 38 phyrx_err_bt_collision>
239 
240 			<enum 39 phyrx_err_unsupported_mu_feedback>
241 
242 			<enum 40 phyrx_err_ppdu_tx_interrupt_rx>
243 
244 			<enum 41 phyrx_err_unsupported_cbf>
245 
246 
247 
248 			<enum 42 phyrx_err_other>  Should not really be used. If
249 			needed, ask for documentation update
250 
251 
252 
253 			<legal 0 - 42>
254 */
255 #define PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON_OFFSET         0x00000000
256 #define PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON_LSB            0
257 #define PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON_MASK           0x000000ff
258 
259 /* Description		PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0
260 
261 			<legal 0>
262 */
263 #define PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0_OFFSET                 0x00000000
264 #define PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0_LSB                    8
265 #define PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0_MASK                   0xffffff00
266 
267 
268 #endif // _PHYRX_ABORT_REQUEST_INFO_H_
269