xref: /OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_features.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  *
3  * (C) COPYRIGHT 2015-2017 ARM Limited. All rights reserved.
4  *
5  * This program is free software and is provided to you under the terms of the
6  * GNU General Public License version 2 as published by the Free Software
7  * Foundation, and any use by you of this program is subject to the terms
8  * of such GNU licence.
9  *
10  * A copy of the licence is included with the program, and can also be obtained
11  * from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
12  * Boston, MA  02110-1301, USA.
13  *
14  */
15 
16 
17 
18 /* AUTOMATICALLY GENERATED FILE. If you want to amend the issues/features,
19  * please update base/tools/hwconfig_generator/hwc_{issues,features}.py
20  * For more information see base/tools/hwconfig_generator/README
21  */
22 
23 #ifndef _BASE_HWCONFIG_FEATURES_H_
24 #define _BASE_HWCONFIG_FEATURES_H_
25 
26 enum base_hw_feature {
27 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
28 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
29 	BASE_HW_FEATURE_33BIT_VA,
30 	BASE_HW_FEATURE_XAFFINITY,
31 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
32 	BASE_HW_FEATURE_MRT,
33 	BASE_HW_FEATURE_BRNDOUT_CC,
34 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
35 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
36 	BASE_HW_FEATURE_MSAA_16X,
37 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
38 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
39 	BASE_HW_FEATURE_OPTIMIZED_COVERAGE_MASK,
40 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
41 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
42 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
43 	BASE_HW_FEATURE_WORKGROUP_ROUND_MULTIPLE_OF_4,
44 	BASE_HW_FEATURE_IMAGES_IN_FRAGMENT_SHADERS,
45 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
46 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
47 	BASE_HW_FEATURE_BRNDOUT_KILL,
48 	BASE_HW_FEATURE_WARPING,
49 	BASE_HW_FEATURE_V4,
50 	BASE_HW_FEATURE_FLUSH_REDUCTION,
51 	BASE_HW_FEATURE_PROTECTED_MODE,
52 	BASE_HW_FEATURE_COHERENCY_REG,
53 	BASE_HW_FEATURE_PROTECTED_DEBUG_MODE,
54 	BASE_HW_FEATURE_AARCH64_MMU,
55 	BASE_HW_FEATURE_END
56 };
57 
58 static const enum base_hw_feature base_hw_features_generic[] = {
59 	BASE_HW_FEATURE_END
60 };
61 
62 static const enum base_hw_feature base_hw_features_t60x[] = {
63 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
64 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
65 	BASE_HW_FEATURE_V4,
66 	BASE_HW_FEATURE_END
67 };
68 
69 static const enum base_hw_feature base_hw_features_t62x[] = {
70 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
71 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
72 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
73 	BASE_HW_FEATURE_V4,
74 	BASE_HW_FEATURE_END
75 };
76 
77 static const enum base_hw_feature base_hw_features_t72x[] = {
78 	BASE_HW_FEATURE_33BIT_VA,
79 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
80 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
81 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
82 	BASE_HW_FEATURE_OPTIMIZED_COVERAGE_MASK,
83 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
84 	BASE_HW_FEATURE_WORKGROUP_ROUND_MULTIPLE_OF_4,
85 	BASE_HW_FEATURE_WARPING,
86 	BASE_HW_FEATURE_V4,
87 	BASE_HW_FEATURE_END
88 };
89 
90 static const enum base_hw_feature base_hw_features_t76x[] = {
91 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
92 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
93 	BASE_HW_FEATURE_XAFFINITY,
94 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
95 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
96 	BASE_HW_FEATURE_BRNDOUT_CC,
97 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
98 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
99 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
100 	BASE_HW_FEATURE_MRT,
101 	BASE_HW_FEATURE_MSAA_16X,
102 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
103 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
104 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
105 	BASE_HW_FEATURE_END
106 };
107 
108 static const enum base_hw_feature base_hw_features_tFxx[] = {
109 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
110 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
111 	BASE_HW_FEATURE_XAFFINITY,
112 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
113 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
114 	BASE_HW_FEATURE_BRNDOUT_CC,
115 	BASE_HW_FEATURE_BRNDOUT_KILL,
116 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
117 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
118 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
119 	BASE_HW_FEATURE_MRT,
120 	BASE_HW_FEATURE_MSAA_16X,
121 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
122 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
123 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
124 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
125 	BASE_HW_FEATURE_END
126 };
127 
128 static const enum base_hw_feature base_hw_features_t83x[] = {
129 	BASE_HW_FEATURE_33BIT_VA,
130 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
131 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
132 	BASE_HW_FEATURE_XAFFINITY,
133 	BASE_HW_FEATURE_WARPING,
134 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
135 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
136 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
137 	BASE_HW_FEATURE_BRNDOUT_CC,
138 	BASE_HW_FEATURE_BRNDOUT_KILL,
139 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
140 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
141 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
142 	BASE_HW_FEATURE_MRT,
143 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
144 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
145 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
146 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
147 	BASE_HW_FEATURE_END
148 };
149 
150 static const enum base_hw_feature base_hw_features_t82x[] = {
151 	BASE_HW_FEATURE_33BIT_VA,
152 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
153 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
154 	BASE_HW_FEATURE_XAFFINITY,
155 	BASE_HW_FEATURE_WARPING,
156 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
157 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
158 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
159 	BASE_HW_FEATURE_BRNDOUT_CC,
160 	BASE_HW_FEATURE_BRNDOUT_KILL,
161 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
162 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
163 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
164 	BASE_HW_FEATURE_MRT,
165 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
166 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
167 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
168 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
169 	BASE_HW_FEATURE_END
170 };
171 
172 static const enum base_hw_feature base_hw_features_tMIx[] = {
173 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
174 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
175 	BASE_HW_FEATURE_XAFFINITY,
176 	BASE_HW_FEATURE_WARPING,
177 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
178 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
179 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
180 	BASE_HW_FEATURE_BRNDOUT_CC,
181 	BASE_HW_FEATURE_BRNDOUT_KILL,
182 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
183 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
184 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
185 	BASE_HW_FEATURE_MRT,
186 	BASE_HW_FEATURE_MSAA_16X,
187 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
188 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
189 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
190 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
191 	BASE_HW_FEATURE_FLUSH_REDUCTION,
192 	BASE_HW_FEATURE_PROTECTED_MODE,
193 	BASE_HW_FEATURE_COHERENCY_REG,
194 	BASE_HW_FEATURE_END
195 };
196 
197 static const enum base_hw_feature base_hw_features_tHEx[] = {
198 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
199 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
200 	BASE_HW_FEATURE_XAFFINITY,
201 	BASE_HW_FEATURE_WARPING,
202 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
203 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
204 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
205 	BASE_HW_FEATURE_BRNDOUT_CC,
206 	BASE_HW_FEATURE_BRNDOUT_KILL,
207 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
208 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
209 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
210 	BASE_HW_FEATURE_MRT,
211 	BASE_HW_FEATURE_MSAA_16X,
212 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
213 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
214 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
215 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
216 	BASE_HW_FEATURE_FLUSH_REDUCTION,
217 	BASE_HW_FEATURE_PROTECTED_MODE,
218 	BASE_HW_FEATURE_PROTECTED_DEBUG_MODE,
219 	BASE_HW_FEATURE_COHERENCY_REG,
220 	BASE_HW_FEATURE_END
221 };
222 
223 static const enum base_hw_feature base_hw_features_tSIx[] = {
224 	BASE_HW_FEATURE_33BIT_VA,
225 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
226 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
227 	BASE_HW_FEATURE_XAFFINITY,
228 	BASE_HW_FEATURE_WARPING,
229 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
230 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
231 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
232 	BASE_HW_FEATURE_BRNDOUT_CC,
233 	BASE_HW_FEATURE_BRNDOUT_KILL,
234 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
235 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
236 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
237 	BASE_HW_FEATURE_MRT,
238 	BASE_HW_FEATURE_MSAA_16X,
239 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
240 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
241 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
242 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
243 	BASE_HW_FEATURE_FLUSH_REDUCTION,
244 	BASE_HW_FEATURE_PROTECTED_MODE,
245 	BASE_HW_FEATURE_PROTECTED_DEBUG_MODE,
246 	BASE_HW_FEATURE_COHERENCY_REG,
247 	BASE_HW_FEATURE_END
248 };
249 
250 
251 #ifdef MALI_INCLUDE_TKAX
252 static const enum base_hw_feature base_hw_features_tKAx[] = {
253 	BASE_HW_FEATURE_33BIT_VA,
254 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
255 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
256 	BASE_HW_FEATURE_XAFFINITY,
257 	BASE_HW_FEATURE_WARPING,
258 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
259 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
260 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
261 	BASE_HW_FEATURE_BRNDOUT_CC,
262 	BASE_HW_FEATURE_BRNDOUT_KILL,
263 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
264 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
265 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
266 	BASE_HW_FEATURE_MRT,
267 	BASE_HW_FEATURE_MSAA_16X,
268 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
269 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
270 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
271 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
272 	BASE_HW_FEATURE_FLUSH_REDUCTION,
273 	BASE_HW_FEATURE_PROTECTED_MODE,
274 	BASE_HW_FEATURE_PROTECTED_DEBUG_MODE,
275 	BASE_HW_FEATURE_COHERENCY_REG,
276 	BASE_HW_FEATURE_END
277 };
278 
279 #endif /* MALI_INCLUDE_TKAX */
280 
281 #ifdef MALI_INCLUDE_TTRX
282 static const enum base_hw_feature base_hw_features_tTRx[] = {
283 	BASE_HW_FEATURE_33BIT_VA,
284 	BASE_HW_FEATURE_JOBCHAIN_DISAMBIGUATION,
285 	BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS,
286 	BASE_HW_FEATURE_XAFFINITY,
287 	BASE_HW_FEATURE_WARPING,
288 	BASE_HW_FEATURE_INTERPIPE_REG_ALIASING,
289 	BASE_HW_FEATURE_32_BIT_UNIFORM_ADDRESS,
290 	BASE_HW_FEATURE_ATTR_AUTO_TYPE_INFERRAL,
291 	BASE_HW_FEATURE_BRNDOUT_CC,
292 	BASE_HW_FEATURE_BRNDOUT_KILL,
293 	BASE_HW_FEATURE_LD_ST_LEA_TEX,
294 	BASE_HW_FEATURE_LD_ST_TILEBUFFER,
295 	BASE_HW_FEATURE_LINEAR_FILTER_FLOAT,
296 	BASE_HW_FEATURE_MRT,
297 	BASE_HW_FEATURE_MSAA_16X,
298 	BASE_HW_FEATURE_NEXT_INSTRUCTION_TYPE,
299 	BASE_HW_FEATURE_OUT_OF_ORDER_EXEC,
300 	BASE_HW_FEATURE_T7XX_PAIRING_RULES,
301 	BASE_HW_FEATURE_TEST4_DATUM_MODE,
302 	BASE_HW_FEATURE_FLUSH_REDUCTION,
303 	BASE_HW_FEATURE_PROTECTED_MODE,
304 	BASE_HW_FEATURE_PROTECTED_DEBUG_MODE,
305 	BASE_HW_FEATURE_COHERENCY_REG,
306 	BASE_HW_FEATURE_END
307 };
308 
309 #endif /* MALI_INCLUDE_TTRX */
310 
311 #endif /* _BASE_HWCONFIG_FEATURES_H_ */
312