xref: /wlan-driver/fw-api/hw/qca5424/ack_report.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 
2 /*
3  * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
4  * SPDX-License-Identifier: ISC
5  */
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 #ifndef _ACK_REPORT_H_
20 #define _ACK_REPORT_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 #define NUM_OF_DWORDS_ACK_REPORT 1
25 
26 
27 struct ack_report {
28 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
29              uint32_t selfgen_response_reason                                 :  4,
30                       ax_trigger_type                                         :  4,
31                       sr_ppdu                                                 :  1,
32                       reserved                                                :  7,
33                       frame_control                                           : 16;
34 #else
35              uint32_t frame_control                                           : 16,
36                       reserved                                                :  7,
37                       sr_ppdu                                                 :  1,
38                       ax_trigger_type                                         :  4,
39                       selfgen_response_reason                                 :  4;
40 #endif
41 };
42 
43 
44 
45 
46 #define ACK_REPORT_SELFGEN_RESPONSE_REASON_OFFSET                                   0x00000000
47 #define ACK_REPORT_SELFGEN_RESPONSE_REASON_LSB                                      0
48 #define ACK_REPORT_SELFGEN_RESPONSE_REASON_MSB                                      3
49 #define ACK_REPORT_SELFGEN_RESPONSE_REASON_MASK                                     0x0000000f
50 
51 
52 
53 
54 #define ACK_REPORT_AX_TRIGGER_TYPE_OFFSET                                           0x00000000
55 #define ACK_REPORT_AX_TRIGGER_TYPE_LSB                                              4
56 #define ACK_REPORT_AX_TRIGGER_TYPE_MSB                                              7
57 #define ACK_REPORT_AX_TRIGGER_TYPE_MASK                                             0x000000f0
58 
59 
60 
61 
62 #define ACK_REPORT_SR_PPDU_OFFSET                                                   0x00000000
63 #define ACK_REPORT_SR_PPDU_LSB                                                      8
64 #define ACK_REPORT_SR_PPDU_MSB                                                      8
65 #define ACK_REPORT_SR_PPDU_MASK                                                     0x00000100
66 
67 
68 
69 
70 #define ACK_REPORT_RESERVED_OFFSET                                                  0x00000000
71 #define ACK_REPORT_RESERVED_LSB                                                     9
72 #define ACK_REPORT_RESERVED_MSB                                                     15
73 #define ACK_REPORT_RESERVED_MASK                                                    0x0000fe00
74 
75 
76 
77 
78 #define ACK_REPORT_FRAME_CONTROL_OFFSET                                             0x00000000
79 #define ACK_REPORT_FRAME_CONTROL_LSB                                                16
80 #define ACK_REPORT_FRAME_CONTROL_MSB                                                31
81 #define ACK_REPORT_FRAME_CONTROL_MASK                                               0xffff0000
82 
83 
84 
85 #endif
86