xref: /wlan-driver/fw-api/hw/qca6750/v1/uniform_descriptor_header.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2020 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 //
20 // DO NOT EDIT!  This file is automatically generated
21 //               These definitions are tied to a particular hardware layout
22 
23 
24 #ifndef _UNIFORM_DESCRIPTOR_HEADER_H_
25 #define _UNIFORM_DESCRIPTOR_HEADER_H_
26 #if !defined(__ASSEMBLER__)
27 #endif
28 
29 
30 // ################ START SUMMARY #################
31 //
32 //	Dword	Fields
33 //	0	owner[3:0], buffer_type[7:4], reserved_0a[31:8]
34 //
35 // ################ END SUMMARY #################
36 
37 #define NUM_OF_DWORDS_UNIFORM_DESCRIPTOR_HEADER 1
38 
39 struct uniform_descriptor_header {
40              uint32_t owner                           :  4, //[3:0]
41                       buffer_type                     :  4, //[7:4]
42                       reserved_0a                     : 24; //[31:8]
43 };
44 
45 /*
46 
47 owner
48 
49 			Consumer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
50 
51 			Producer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
52 
53 
54 
55 			The owner of this data structure:
56 
57 			<enum 0 WBM_owned> Buffer Manager currently owns this
58 			data structure.
59 
60 			<enum 1 SW_OR_FW_owned> Software of FW currently owns
61 			this data structure.
62 
63 			<enum 2 TQM_owned> Transmit Queue Manager currently owns
64 			this data structure.
65 
66 			<enum 3 RXDMA_owned> Receive DMA currently owns this
67 			data structure.
68 
69 			<enum 4 REO_owned> Reorder currently owns this data
70 			structure.
71 
72 			<enum 5 SWITCH_owned> SWITCH currently owns this data
73 			structure.
74 
75 
76 
77 			<legal 0-5>
78 
79 buffer_type
80 
81 			Consumer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
82 
83 			Producer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
84 
85 
86 
87 			Field describing what contents format is of this
88 			descriptor
89 
90 
91 
92 			<enum 0 Transmit_MSDU_Link_descriptor >
93 
94 			<enum 1 Transmit_MPDU_Link_descriptor >
95 
96 			<enum 2 Transmit_MPDU_Queue_head_descriptor>
97 
98 			<enum 3 Transmit_MPDU_Queue_ext_descriptor>
99 
100 			<enum 4 Transmit_flow_descriptor>
101 
102 			<enum 5 Transmit_buffer > NOT TO BE USED:
103 
104 
105 
106 			<enum 6 Receive_MSDU_Link_descriptor >
107 
108 			<enum 7 Receive_MPDU_Link_descriptor >
109 
110 			<enum 8 Receive_REO_queue_descriptor >
111 
112 			<enum 9 Receive_REO_queue_ext_descriptor >
113 
114 
115 
116 			<enum 10 Receive_buffer >
117 
118 
119 
120 			<enum 11 Idle_link_list_entry>
121 
122 
123 
124 			<legal 0-11>
125 
126 reserved_0a
127 
128 			<legal 0>
129 */
130 
131 
132 /* Description		UNIFORM_DESCRIPTOR_HEADER_0_OWNER
133 
134 			Consumer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
135 
136 			Producer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
137 
138 
139 
140 			The owner of this data structure:
141 
142 			<enum 0 WBM_owned> Buffer Manager currently owns this
143 			data structure.
144 
145 			<enum 1 SW_OR_FW_owned> Software of FW currently owns
146 			this data structure.
147 
148 			<enum 2 TQM_owned> Transmit Queue Manager currently owns
149 			this data structure.
150 
151 			<enum 3 RXDMA_owned> Receive DMA currently owns this
152 			data structure.
153 
154 			<enum 4 REO_owned> Reorder currently owns this data
155 			structure.
156 
157 			<enum 5 SWITCH_owned> SWITCH currently owns this data
158 			structure.
159 
160 
161 
162 			<legal 0-5>
163 */
164 #define UNIFORM_DESCRIPTOR_HEADER_0_OWNER_OFFSET                     0x00000000
165 #define UNIFORM_DESCRIPTOR_HEADER_0_OWNER_LSB                        0
166 #define UNIFORM_DESCRIPTOR_HEADER_0_OWNER_MASK                       0x0000000f
167 
168 /* Description		UNIFORM_DESCRIPTOR_HEADER_0_BUFFER_TYPE
169 
170 			Consumer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
171 
172 			Producer: In DEBUG mode: WBM, TQM, TXDMA, RXDMA, REO
173 
174 
175 
176 			Field describing what contents format is of this
177 			descriptor
178 
179 
180 
181 			<enum 0 Transmit_MSDU_Link_descriptor >
182 
183 			<enum 1 Transmit_MPDU_Link_descriptor >
184 
185 			<enum 2 Transmit_MPDU_Queue_head_descriptor>
186 
187 			<enum 3 Transmit_MPDU_Queue_ext_descriptor>
188 
189 			<enum 4 Transmit_flow_descriptor>
190 
191 			<enum 5 Transmit_buffer > NOT TO BE USED:
192 
193 
194 
195 			<enum 6 Receive_MSDU_Link_descriptor >
196 
197 			<enum 7 Receive_MPDU_Link_descriptor >
198 
199 			<enum 8 Receive_REO_queue_descriptor >
200 
201 			<enum 9 Receive_REO_queue_ext_descriptor >
202 
203 
204 
205 			<enum 10 Receive_buffer >
206 
207 
208 
209 			<enum 11 Idle_link_list_entry>
210 
211 
212 
213 			<legal 0-11>
214 */
215 #define UNIFORM_DESCRIPTOR_HEADER_0_BUFFER_TYPE_OFFSET               0x00000000
216 #define UNIFORM_DESCRIPTOR_HEADER_0_BUFFER_TYPE_LSB                  4
217 #define UNIFORM_DESCRIPTOR_HEADER_0_BUFFER_TYPE_MASK                 0x000000f0
218 
219 /* Description		UNIFORM_DESCRIPTOR_HEADER_0_RESERVED_0A
220 
221 			<legal 0>
222 */
223 #define UNIFORM_DESCRIPTOR_HEADER_0_RESERVED_0A_OFFSET               0x00000000
224 #define UNIFORM_DESCRIPTOR_HEADER_0_RESERVED_0A_LSB                  8
225 #define UNIFORM_DESCRIPTOR_HEADER_0_RESERVED_0A_MASK                 0xffffff00
226 
227 
228 #endif // _UNIFORM_DESCRIPTOR_HEADER_H_
229