xref: /wlan-driver/fw-api/hw/qca5424/tx_fes_status_user_ppdu.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name 
2*5113495bSYour Name /*
3*5113495bSYour Name  * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  * SPDX-License-Identifier: ISC
5*5113495bSYour Name  */
6*5113495bSYour Name 
7*5113495bSYour Name 
8*5113495bSYour Name 
9*5113495bSYour Name 
10*5113495bSYour Name 
11*5113495bSYour Name 
12*5113495bSYour Name 
13*5113495bSYour Name 
14*5113495bSYour Name 
15*5113495bSYour Name 
16*5113495bSYour Name 
17*5113495bSYour Name 
18*5113495bSYour Name 
19*5113495bSYour Name #ifndef _TX_FES_STATUS_USER_PPDU_H_
20*5113495bSYour Name #define _TX_FES_STATUS_USER_PPDU_H_
21*5113495bSYour Name #if !defined(__ASSEMBLER__)
22*5113495bSYour Name #endif
23*5113495bSYour Name 
24*5113495bSYour Name #define NUM_OF_DWORDS_TX_FES_STATUS_USER_PPDU 6
25*5113495bSYour Name 
26*5113495bSYour Name #define NUM_OF_QWORDS_TX_FES_STATUS_USER_PPDU 3
27*5113495bSYour Name 
28*5113495bSYour Name 
29*5113495bSYour Name struct tx_fes_status_user_ppdu {
30*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
31*5113495bSYour Name              uint32_t underflow_mpdu_count                                    :  9,
32*5113495bSYour Name                       data_underflow_warning                                  :  2,
33*5113495bSYour Name                       bw_drop_underflow_warning                               :  1,
34*5113495bSYour Name                       qc_eosp_setting                                         :  1,
35*5113495bSYour Name                       fc_more_data_setting                                    :  1,
36*5113495bSYour Name                       fc_pwr_mgt_setting                                      :  1,
37*5113495bSYour Name                       mpdu_tx_count                                           :  9,
38*5113495bSYour Name                       user_blocked                                            :  1,
39*5113495bSYour Name                       pre_trig_response_delim_count                           :  7;
40*5113495bSYour Name              uint32_t underflow_byte_count                                    : 16,
41*5113495bSYour Name                       coex_abort_mpdu_count_valid                             :  1,
42*5113495bSYour Name                       coex_abort_mpdu_count                                   :  9,
43*5113495bSYour Name                       transmitted_tid                                         :  4,
44*5113495bSYour Name                       txdma_dropped_mpdu_warning                              :  1,
45*5113495bSYour Name                       reserved_1                                              :  1;
46*5113495bSYour Name              uint32_t duration                                                : 16,
47*5113495bSYour Name                       num_eof_delim_added                                     : 16;
48*5113495bSYour Name              uint32_t psdu_octet                                              : 24,
49*5113495bSYour Name                       qos_buf_state                                           :  8;
50*5113495bSYour Name              uint32_t num_null_delim_added                                    : 22,
51*5113495bSYour Name                       reserved_4a                                             :  2,
52*5113495bSYour Name                       cv_corr_user_valid_in_phy                               :  1,
53*5113495bSYour Name                       nss                                                     :  3,
54*5113495bSYour Name                       mcs                                                     :  4;
55*5113495bSYour Name              uint32_t ht_control                                              : 32;
56*5113495bSYour Name #else
57*5113495bSYour Name              uint32_t pre_trig_response_delim_count                           :  7,
58*5113495bSYour Name                       user_blocked                                            :  1,
59*5113495bSYour Name                       mpdu_tx_count                                           :  9,
60*5113495bSYour Name                       fc_pwr_mgt_setting                                      :  1,
61*5113495bSYour Name                       fc_more_data_setting                                    :  1,
62*5113495bSYour Name                       qc_eosp_setting                                         :  1,
63*5113495bSYour Name                       bw_drop_underflow_warning                               :  1,
64*5113495bSYour Name                       data_underflow_warning                                  :  2,
65*5113495bSYour Name                       underflow_mpdu_count                                    :  9;
66*5113495bSYour Name              uint32_t reserved_1                                              :  1,
67*5113495bSYour Name                       txdma_dropped_mpdu_warning                              :  1,
68*5113495bSYour Name                       transmitted_tid                                         :  4,
69*5113495bSYour Name                       coex_abort_mpdu_count                                   :  9,
70*5113495bSYour Name                       coex_abort_mpdu_count_valid                             :  1,
71*5113495bSYour Name                       underflow_byte_count                                    : 16;
72*5113495bSYour Name              uint32_t num_eof_delim_added                                     : 16,
73*5113495bSYour Name                       duration                                                : 16;
74*5113495bSYour Name              uint32_t qos_buf_state                                           :  8,
75*5113495bSYour Name                       psdu_octet                                              : 24;
76*5113495bSYour Name              uint32_t mcs                                                     :  4,
77*5113495bSYour Name                       nss                                                     :  3,
78*5113495bSYour Name                       cv_corr_user_valid_in_phy                               :  1,
79*5113495bSYour Name                       reserved_4a                                             :  2,
80*5113495bSYour Name                       num_null_delim_added                                    : 22;
81*5113495bSYour Name              uint32_t ht_control                                              : 32;
82*5113495bSYour Name #endif
83*5113495bSYour Name };
84*5113495bSYour Name 
85*5113495bSYour Name 
86*5113495bSYour Name 
87*5113495bSYour Name 
88*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_OFFSET                         0x0000000000000000
89*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_LSB                            0
90*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_MSB                            8
91*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_MASK                           0x00000000000001ff
92*5113495bSYour Name 
93*5113495bSYour Name 
94*5113495bSYour Name 
95*5113495bSYour Name 
96*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_OFFSET                       0x0000000000000000
97*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_LSB                          9
98*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_MSB                          10
99*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_MASK                         0x0000000000000600
100*5113495bSYour Name 
101*5113495bSYour Name 
102*5113495bSYour Name 
103*5113495bSYour Name 
104*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_OFFSET                    0x0000000000000000
105*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_LSB                       11
106*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_MSB                       11
107*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_MASK                      0x0000000000000800
108*5113495bSYour Name 
109*5113495bSYour Name 
110*5113495bSYour Name 
111*5113495bSYour Name 
112*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_OFFSET                              0x0000000000000000
113*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_LSB                                 12
114*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_MSB                                 12
115*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_MASK                                0x0000000000001000
116*5113495bSYour Name 
117*5113495bSYour Name 
118*5113495bSYour Name 
119*5113495bSYour Name 
120*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_OFFSET                         0x0000000000000000
121*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_LSB                            13
122*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_MSB                            13
123*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_MASK                           0x0000000000002000
124*5113495bSYour Name 
125*5113495bSYour Name 
126*5113495bSYour Name 
127*5113495bSYour Name 
128*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_OFFSET                           0x0000000000000000
129*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_LSB                              14
130*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_MSB                              14
131*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_MASK                             0x0000000000004000
132*5113495bSYour Name 
133*5113495bSYour Name 
134*5113495bSYour Name 
135*5113495bSYour Name 
136*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_OFFSET                                0x0000000000000000
137*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_LSB                                   15
138*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_MSB                                   23
139*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_MASK                                  0x0000000000ff8000
140*5113495bSYour Name 
141*5113495bSYour Name 
142*5113495bSYour Name 
143*5113495bSYour Name 
144*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_OFFSET                                 0x0000000000000000
145*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_LSB                                    24
146*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_MSB                                    24
147*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_MASK                                   0x0000000001000000
148*5113495bSYour Name 
149*5113495bSYour Name 
150*5113495bSYour Name 
151*5113495bSYour Name 
152*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_OFFSET                0x0000000000000000
153*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_LSB                   25
154*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_MSB                   31
155*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_MASK                  0x00000000fe000000
156*5113495bSYour Name 
157*5113495bSYour Name 
158*5113495bSYour Name 
159*5113495bSYour Name 
160*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_OFFSET                         0x0000000000000000
161*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_LSB                            32
162*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_MSB                            47
163*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_MASK                           0x0000ffff00000000
164*5113495bSYour Name 
165*5113495bSYour Name 
166*5113495bSYour Name 
167*5113495bSYour Name 
168*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_OFFSET                  0x0000000000000000
169*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_LSB                     48
170*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_MSB                     48
171*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_MASK                    0x0001000000000000
172*5113495bSYour Name 
173*5113495bSYour Name 
174*5113495bSYour Name 
175*5113495bSYour Name 
176*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_OFFSET                        0x0000000000000000
177*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_LSB                           49
178*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_MSB                           57
179*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_MASK                          0x03fe000000000000
180*5113495bSYour Name 
181*5113495bSYour Name 
182*5113495bSYour Name 
183*5113495bSYour Name 
184*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_OFFSET                              0x0000000000000000
185*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_LSB                                 58
186*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_MSB                                 61
187*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_MASK                                0x3c00000000000000
188*5113495bSYour Name 
189*5113495bSYour Name 
190*5113495bSYour Name 
191*5113495bSYour Name 
192*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_OFFSET                   0x0000000000000000
193*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_LSB                      62
194*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_MSB                      62
195*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_MASK                     0x4000000000000000
196*5113495bSYour Name 
197*5113495bSYour Name 
198*5113495bSYour Name 
199*5113495bSYour Name 
200*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_1_OFFSET                                   0x0000000000000000
201*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_1_LSB                                      63
202*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_1_MSB                                      63
203*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_1_MASK                                     0x8000000000000000
204*5113495bSYour Name 
205*5113495bSYour Name 
206*5113495bSYour Name 
207*5113495bSYour Name 
208*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DURATION_OFFSET                                     0x0000000000000008
209*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DURATION_LSB                                        0
210*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DURATION_MSB                                        15
211*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_DURATION_MASK                                       0x000000000000ffff
212*5113495bSYour Name 
213*5113495bSYour Name 
214*5113495bSYour Name 
215*5113495bSYour Name 
216*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_OFFSET                          0x0000000000000008
217*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_LSB                             16
218*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_MSB                             31
219*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_MASK                            0x00000000ffff0000
220*5113495bSYour Name 
221*5113495bSYour Name 
222*5113495bSYour Name 
223*5113495bSYour Name 
224*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_OFFSET                                   0x0000000000000008
225*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_LSB                                      32
226*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_MSB                                      55
227*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_MASK                                     0x00ffffff00000000
228*5113495bSYour Name 
229*5113495bSYour Name 
230*5113495bSYour Name 
231*5113495bSYour Name 
232*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_OFFSET                                0x0000000000000008
233*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_LSB                                   56
234*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_MSB                                   63
235*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_MASK                                  0xff00000000000000
236*5113495bSYour Name 
237*5113495bSYour Name 
238*5113495bSYour Name 
239*5113495bSYour Name 
240*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_OFFSET                         0x0000000000000010
241*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_LSB                            0
242*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_MSB                            21
243*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_MASK                           0x00000000003fffff
244*5113495bSYour Name 
245*5113495bSYour Name 
246*5113495bSYour Name 
247*5113495bSYour Name 
248*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_OFFSET                                  0x0000000000000010
249*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_LSB                                     22
250*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_MSB                                     23
251*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_MASK                                    0x0000000000c00000
252*5113495bSYour Name 
253*5113495bSYour Name 
254*5113495bSYour Name 
255*5113495bSYour Name 
256*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_OFFSET                    0x0000000000000010
257*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_LSB                       24
258*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_MSB                       24
259*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_MASK                      0x0000000001000000
260*5113495bSYour Name 
261*5113495bSYour Name 
262*5113495bSYour Name 
263*5113495bSYour Name 
264*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NSS_OFFSET                                          0x0000000000000010
265*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NSS_LSB                                             25
266*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NSS_MSB                                             27
267*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_NSS_MASK                                            0x000000000e000000
268*5113495bSYour Name 
269*5113495bSYour Name 
270*5113495bSYour Name 
271*5113495bSYour Name 
272*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MCS_OFFSET                                          0x0000000000000010
273*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MCS_LSB                                             28
274*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MCS_MSB                                             31
275*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_MCS_MASK                                            0x00000000f0000000
276*5113495bSYour Name 
277*5113495bSYour Name 
278*5113495bSYour Name 
279*5113495bSYour Name 
280*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_OFFSET                                   0x0000000000000010
281*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_LSB                                      32
282*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_MSB                                      63
283*5113495bSYour Name #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_MASK                                     0xffffffff00000000
284*5113495bSYour Name 
285*5113495bSYour Name 
286*5113495bSYour Name 
287*5113495bSYour Name #endif
288