forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
....@@ -7,8 +7,42 @@
77
88 static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
99 {
10
+ .model = 0x400,
11
+ .revision = 0x4652,
12
+ .product_id = 0x70001,
13
+ .customer_id = 0x100,
14
+ .eco_id = 0,
15
+ .stream_count = 4,
16
+ .register_max = 64,
17
+ .thread_count = 128,
18
+ .shader_core_count = 1,
19
+ .vertex_cache_size = 8,
20
+ .vertex_output_buffer_size = 1024,
21
+ .pixel_pipes = 1,
22
+ .instruction_count = 256,
23
+ .num_constants = 320,
24
+ .buffer_size = 0,
25
+ .varyings_count = 8,
26
+ .features = 0xa0e9e004,
27
+ .minor_features0 = 0xe1299fff,
28
+ .minor_features1 = 0xbe13b219,
29
+ .minor_features2 = 0xce110010,
30
+ .minor_features3 = 0x8000001,
31
+ .minor_features4 = 0x20102,
32
+ .minor_features5 = 0x120000,
33
+ .minor_features6 = 0x0,
34
+ .minor_features7 = 0x0,
35
+ .minor_features8 = 0x0,
36
+ .minor_features9 = 0x0,
37
+ .minor_features10 = 0x0,
38
+ .minor_features11 = 0x0,
39
+ },
40
+ {
1041 .model = 0x7000,
1142 .revision = 0x6214,
43
+ .product_id = ~0U,
44
+ .customer_id = ~0U,
45
+ .eco_id = ~0U,
1246 .stream_count = 16,
1347 .register_max = 64,
1448 .thread_count = 1024,
....@@ -43,7 +77,13 @@
4377
4478 for (i = 0; i < ARRAY_SIZE(etnaviv_chip_identities); i++) {
4579 if (etnaviv_chip_identities[i].model == ident->model &&
46
- etnaviv_chip_identities[i].revision == ident->revision) {
80
+ etnaviv_chip_identities[i].revision == ident->revision &&
81
+ (etnaviv_chip_identities[i].product_id == ident->product_id ||
82
+ etnaviv_chip_identities[i].product_id == ~0U) &&
83
+ (etnaviv_chip_identities[i].customer_id == ident->customer_id ||
84
+ etnaviv_chip_identities[i].customer_id == ~0U) &&
85
+ (etnaviv_chip_identities[i].eco_id == ident->eco_id ||
86
+ etnaviv_chip_identities[i].eco_id == ~0U)) {
4787 memcpy(ident, &etnaviv_chip_identities[i],
4888 sizeof(*ident));
4989 return true;