@@ -23,6 +23,7 @@ module_param_named(allow_vram_carveout, allow_vram_carveout, bool, 0600);
23
23
static const struct adreno_info gpulist [] = {
24
24
{
25
25
.rev = ADRENO_REV (2 , 0 , 0 , 0 ),
26
+ .family = ADRENO_2XX_GEN1 ,
26
27
.revn = 200 ,
27
28
.fw = {
28
29
[ADRENO_FW_PM4 ] = "yamato_pm4.fw" ,
@@ -33,6 +34,7 @@ static const struct adreno_info gpulist[] = {
33
34
.init = a2xx_gpu_init ,
34
35
}, { /* a200 on i.mx51 has only 128kib gmem */
35
36
.rev = ADRENO_REV (2 , 0 , 0 , 1 ),
37
+ .family = ADRENO_2XX_GEN1 ,
36
38
.revn = 201 ,
37
39
.fw = {
38
40
[ADRENO_FW_PM4 ] = "yamato_pm4.fw" ,
@@ -43,6 +45,7 @@ static const struct adreno_info gpulist[] = {
43
45
.init = a2xx_gpu_init ,
44
46
}, {
45
47
.rev = ADRENO_REV (2 , 2 , 0 , ANY_ID ),
48
+ .family = ADRENO_2XX_GEN2 ,
46
49
.revn = 220 ,
47
50
.fw = {
48
51
[ADRENO_FW_PM4 ] = "leia_pm4_470.fw" ,
@@ -53,6 +56,7 @@ static const struct adreno_info gpulist[] = {
53
56
.init = a2xx_gpu_init ,
54
57
}, {
55
58
.rev = ADRENO_REV (3 , 0 , 5 , ANY_ID ),
59
+ .family = ADRENO_3XX ,
56
60
.revn = 305 ,
57
61
.fw = {
58
62
[ADRENO_FW_PM4 ] = "a300_pm4.fw" ,
@@ -63,6 +67,7 @@ static const struct adreno_info gpulist[] = {
63
67
.init = a3xx_gpu_init ,
64
68
}, {
65
69
.rev = ADRENO_REV (3 , 0 , 6 , 0 ),
70
+ .family = ADRENO_3XX ,
66
71
.revn = 307 , /* because a305c is revn==306 */
67
72
.fw = {
68
73
[ADRENO_FW_PM4 ] = "a300_pm4.fw" ,
@@ -73,6 +78,7 @@ static const struct adreno_info gpulist[] = {
73
78
.init = a3xx_gpu_init ,
74
79
}, {
75
80
.rev = ADRENO_REV (3 , 2 , ANY_ID , ANY_ID ),
81
+ .family = ADRENO_3XX ,
76
82
.revn = 320 ,
77
83
.fw = {
78
84
[ADRENO_FW_PM4 ] = "a300_pm4.fw" ,
@@ -83,6 +89,7 @@ static const struct adreno_info gpulist[] = {
83
89
.init = a3xx_gpu_init ,
84
90
}, {
85
91
.rev = ADRENO_REV (3 , 3 , 0 , ANY_ID ),
92
+ .family = ADRENO_3XX ,
86
93
.revn = 330 ,
87
94
.fw = {
88
95
[ADRENO_FW_PM4 ] = "a330_pm4.fw" ,
@@ -93,6 +100,7 @@ static const struct adreno_info gpulist[] = {
93
100
.init = a3xx_gpu_init ,
94
101
}, {
95
102
.rev = ADRENO_REV (4 , 0 , 5 , ANY_ID ),
103
+ .family = ADRENO_4XX ,
96
104
.revn = 405 ,
97
105
.fw = {
98
106
[ADRENO_FW_PM4 ] = "a420_pm4.fw" ,
@@ -103,6 +111,7 @@ static const struct adreno_info gpulist[] = {
103
111
.init = a4xx_gpu_init ,
104
112
}, {
105
113
.rev = ADRENO_REV (4 , 2 , 0 , ANY_ID ),
114
+ .family = ADRENO_4XX ,
106
115
.revn = 420 ,
107
116
.fw = {
108
117
[ADRENO_FW_PM4 ] = "a420_pm4.fw" ,
@@ -113,6 +122,7 @@ static const struct adreno_info gpulist[] = {
113
122
.init = a4xx_gpu_init ,
114
123
}, {
115
124
.rev = ADRENO_REV (4 , 3 , 0 , ANY_ID ),
125
+ .family = ADRENO_4XX ,
116
126
.revn = 430 ,
117
127
.fw = {
118
128
[ADRENO_FW_PM4 ] = "a420_pm4.fw" ,
@@ -123,6 +133,7 @@ static const struct adreno_info gpulist[] = {
123
133
.init = a4xx_gpu_init ,
124
134
}, {
125
135
.rev = ADRENO_REV (5 , 0 , 6 , ANY_ID ),
136
+ .family = ADRENO_5XX ,
126
137
.revn = 506 ,
127
138
.fw = {
128
139
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -140,6 +151,7 @@ static const struct adreno_info gpulist[] = {
140
151
.zapfw = "a506_zap.mdt" ,
141
152
}, {
142
153
.rev = ADRENO_REV (5 , 0 , 8 , ANY_ID ),
154
+ .family = ADRENO_5XX ,
143
155
.revn = 508 ,
144
156
.fw = {
145
157
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -156,6 +168,7 @@ static const struct adreno_info gpulist[] = {
156
168
.zapfw = "a508_zap.mdt" ,
157
169
}, {
158
170
.rev = ADRENO_REV (5 , 0 , 9 , ANY_ID ),
171
+ .family = ADRENO_5XX ,
159
172
.revn = 509 ,
160
173
.fw = {
161
174
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -173,6 +186,7 @@ static const struct adreno_info gpulist[] = {
173
186
.zapfw = "a512_zap.mdt" ,
174
187
}, {
175
188
.rev = ADRENO_REV (5 , 1 , 0 , ANY_ID ),
189
+ .family = ADRENO_5XX ,
176
190
.revn = 510 ,
177
191
.fw = {
178
192
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -187,6 +201,7 @@ static const struct adreno_info gpulist[] = {
187
201
.init = a5xx_gpu_init ,
188
202
}, {
189
203
.rev = ADRENO_REV (5 , 1 , 2 , ANY_ID ),
204
+ .family = ADRENO_5XX ,
190
205
.revn = 512 ,
191
206
.fw = {
192
207
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -203,6 +218,7 @@ static const struct adreno_info gpulist[] = {
203
218
.zapfw = "a512_zap.mdt" ,
204
219
}, {
205
220
.rev = ADRENO_REV (5 , 3 , 0 , 2 ),
221
+ .family = ADRENO_5XX ,
206
222
.revn = 530 ,
207
223
.fw = {
208
224
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -221,6 +237,7 @@ static const struct adreno_info gpulist[] = {
221
237
.zapfw = "a530_zap.mdt" ,
222
238
}, {
223
239
.rev = ADRENO_REV (5 , 4 , 0 , ANY_ID ),
240
+ .family = ADRENO_5XX ,
224
241
.revn = 540 ,
225
242
.fw = {
226
243
[ADRENO_FW_PM4 ] = "a530_pm4.fw" ,
@@ -238,6 +255,7 @@ static const struct adreno_info gpulist[] = {
238
255
.zapfw = "a540_zap.mdt" ,
239
256
}, {
240
257
.rev = ADRENO_REV (6 , 1 , 0 , ANY_ID ),
258
+ .family = ADRENO_6XX_GEN1 ,
241
259
.revn = 610 ,
242
260
.fw = {
243
261
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -263,6 +281,7 @@ static const struct adreno_info gpulist[] = {
263
281
),
264
282
}, {
265
283
.rev = ADRENO_REV (6 , 1 , 8 , ANY_ID ),
284
+ .family = ADRENO_6XX_GEN1 ,
266
285
.revn = 618 ,
267
286
.fw = {
268
287
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -280,6 +299,7 @@ static const struct adreno_info gpulist[] = {
280
299
}, {
281
300
.machine = "qcom,sm4350" ,
282
301
.rev = ADRENO_REV (6 , 1 , 9 , ANY_ID ),
302
+ .family = ADRENO_6XX_GEN1 ,
283
303
.revn = 619 ,
284
304
.fw = {
285
305
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -298,6 +318,7 @@ static const struct adreno_info gpulist[] = {
298
318
}, {
299
319
.machine = "qcom,sm6375" ,
300
320
.rev = ADRENO_REV (6 , 1 , 9 , ANY_ID ),
321
+ .family = ADRENO_6XX_GEN1 ,
301
322
.revn = 619 ,
302
323
.fw = {
303
324
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -315,6 +336,7 @@ static const struct adreno_info gpulist[] = {
315
336
),
316
337
}, {
317
338
.rev = ADRENO_REV (6 , 1 , 9 , ANY_ID ),
339
+ .family = ADRENO_6XX_GEN1 ,
318
340
.revn = 619 ,
319
341
.fw = {
320
342
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -335,6 +357,7 @@ static const struct adreno_info gpulist[] = {
335
357
),
336
358
}, {
337
359
.rev = ADRENO_REV (6 , 3 , 0 , ANY_ID ),
360
+ .family = ADRENO_6XX_GEN1 ,
338
361
.revn = 630 ,
339
362
.fw = {
340
363
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -348,6 +371,7 @@ static const struct adreno_info gpulist[] = {
348
371
.hwcg = a630_hwcg ,
349
372
}, {
350
373
.rev = ADRENO_REV (6 , 4 , 0 , ANY_ID ),
374
+ .family = ADRENO_6XX_GEN2 ,
351
375
.revn = 640 ,
352
376
.fw = {
353
377
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -365,6 +389,7 @@ static const struct adreno_info gpulist[] = {
365
389
),
366
390
}, {
367
391
.rev = ADRENO_REV (6 , 5 , 0 , ANY_ID ),
392
+ .family = ADRENO_6XX_GEN3 ,
368
393
.revn = 650 ,
369
394
.fw = {
370
395
[ADRENO_FW_SQE ] = "a650_sqe.fw" ,
@@ -386,6 +411,7 @@ static const struct adreno_info gpulist[] = {
386
411
),
387
412
}, {
388
413
.rev = ADRENO_REV (6 , 6 , 0 , ANY_ID ),
414
+ .family = ADRENO_6XX_GEN4 ,
389
415
.revn = 660 ,
390
416
.fw = {
391
417
[ADRENO_FW_SQE ] = "a660_sqe.fw" ,
@@ -401,6 +427,7 @@ static const struct adreno_info gpulist[] = {
401
427
.address_space_size = SZ_16G ,
402
428
}, {
403
429
.rev = ADRENO_REV (6 , 3 , 5 , ANY_ID ),
430
+ .family = ADRENO_6XX_GEN4 ,
404
431
.fw = {
405
432
[ADRENO_FW_SQE ] = "a660_sqe.fw" ,
406
433
[ADRENO_FW_GMU ] = "a660_gmu.bin" ,
@@ -419,6 +446,7 @@ static const struct adreno_info gpulist[] = {
419
446
),
420
447
}, {
421
448
.rev = ADRENO_REV (6 , 8 , 0 , ANY_ID ),
449
+ .family = ADRENO_6XX_GEN2 ,
422
450
.revn = 680 ,
423
451
.fw = {
424
452
[ADRENO_FW_SQE ] = "a630_sqe.fw" ,
@@ -432,6 +460,7 @@ static const struct adreno_info gpulist[] = {
432
460
.hwcg = a640_hwcg ,
433
461
}, {
434
462
.rev = ADRENO_REV (6 , 9 , 0 , ANY_ID ),
463
+ .family = ADRENO_6XX_GEN4 ,
435
464
.fw = {
436
465
[ADRENO_FW_SQE ] = "a660_sqe.fw" ,
437
466
[ADRENO_FW_GMU ] = "a690_gmu.bin" ,
@@ -641,7 +670,7 @@ static int adreno_bind(struct device *dev, struct device *master, void *data)
641
670
DBG ("Found GPU: %u.%u.%u.%u" , config .rev .core , config .rev .major ,
642
671
config .rev .minor , config .rev .patchid );
643
672
644
- priv -> is_a2xx = config . rev . core == 2 ;
673
+ priv -> is_a2xx = info -> family < ADRENO_3XX ;
645
674
priv -> has_cached_coherent =
646
675
!!(info -> quirks & ADRENO_QUIRK_HAS_CACHED_COHERENT );
647
676
0 commit comments