xref: /aosp_15_r20/external/mesa3d/src/amd/common/amd_family.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker  * Copyright 2008 Corbin Simpson <[email protected]>
3*61046927SAndroid Build Coastguard Worker  * Copyright 2010 Marek Olšák <[email protected]>
4*61046927SAndroid Build Coastguard Worker  *
5*61046927SAndroid Build Coastguard Worker  * SPDX-License-Identifier: MIT
6*61046927SAndroid Build Coastguard Worker  */
7*61046927SAndroid Build Coastguard Worker 
8*61046927SAndroid Build Coastguard Worker #ifndef AMD_FAMILY_H
9*61046927SAndroid Build Coastguard Worker #define AMD_FAMILY_H
10*61046927SAndroid Build Coastguard Worker 
11*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
12*61046927SAndroid Build Coastguard Worker extern "C" {
13*61046927SAndroid Build Coastguard Worker #endif
14*61046927SAndroid Build Coastguard Worker 
15*61046927SAndroid Build Coastguard Worker struct radeon_info;
16*61046927SAndroid Build Coastguard Worker 
17*61046927SAndroid Build Coastguard Worker enum radeon_family
18*61046927SAndroid Build Coastguard Worker {
19*61046927SAndroid Build Coastguard Worker    CHIP_UNKNOWN = 0,
20*61046927SAndroid Build Coastguard Worker    /* R3xx-based cores. (GFX2) */
21*61046927SAndroid Build Coastguard Worker    CHIP_R300,
22*61046927SAndroid Build Coastguard Worker    CHIP_R350,
23*61046927SAndroid Build Coastguard Worker    CHIP_RV350,
24*61046927SAndroid Build Coastguard Worker    CHIP_RV370,
25*61046927SAndroid Build Coastguard Worker    CHIP_RV380,
26*61046927SAndroid Build Coastguard Worker    CHIP_RS400,
27*61046927SAndroid Build Coastguard Worker    CHIP_RC410,
28*61046927SAndroid Build Coastguard Worker    CHIP_RS480,
29*61046927SAndroid Build Coastguard Worker    /* R4xx-based cores. (GFX2) */
30*61046927SAndroid Build Coastguard Worker    CHIP_R420,
31*61046927SAndroid Build Coastguard Worker    CHIP_R423,
32*61046927SAndroid Build Coastguard Worker    CHIP_R430,
33*61046927SAndroid Build Coastguard Worker    CHIP_R480,
34*61046927SAndroid Build Coastguard Worker    CHIP_R481,
35*61046927SAndroid Build Coastguard Worker    CHIP_RV410,
36*61046927SAndroid Build Coastguard Worker    CHIP_RS600,
37*61046927SAndroid Build Coastguard Worker    CHIP_RS690,
38*61046927SAndroid Build Coastguard Worker    CHIP_RS740,
39*61046927SAndroid Build Coastguard Worker    /* R5xx-based cores. (GFX2) */
40*61046927SAndroid Build Coastguard Worker    CHIP_RV515,
41*61046927SAndroid Build Coastguard Worker    CHIP_R520,
42*61046927SAndroid Build Coastguard Worker    CHIP_RV530,
43*61046927SAndroid Build Coastguard Worker    CHIP_R580,
44*61046927SAndroid Build Coastguard Worker    CHIP_RV560,
45*61046927SAndroid Build Coastguard Worker    CHIP_RV570,
46*61046927SAndroid Build Coastguard Worker    /* GFX3 (R6xx) */
47*61046927SAndroid Build Coastguard Worker    CHIP_R600,
48*61046927SAndroid Build Coastguard Worker    CHIP_RV610,
49*61046927SAndroid Build Coastguard Worker    CHIP_RV630,
50*61046927SAndroid Build Coastguard Worker    CHIP_RV670,
51*61046927SAndroid Build Coastguard Worker    CHIP_RV620,
52*61046927SAndroid Build Coastguard Worker    CHIP_RV635,
53*61046927SAndroid Build Coastguard Worker    CHIP_RS780,
54*61046927SAndroid Build Coastguard Worker    CHIP_RS880,
55*61046927SAndroid Build Coastguard Worker    /* GFX3 (R7xx) */
56*61046927SAndroid Build Coastguard Worker    CHIP_RV770,
57*61046927SAndroid Build Coastguard Worker    CHIP_RV730,
58*61046927SAndroid Build Coastguard Worker    CHIP_RV710,
59*61046927SAndroid Build Coastguard Worker    CHIP_RV740,
60*61046927SAndroid Build Coastguard Worker    /* GFX4 (Evergreen) */
61*61046927SAndroid Build Coastguard Worker    CHIP_CEDAR,
62*61046927SAndroid Build Coastguard Worker    CHIP_REDWOOD,
63*61046927SAndroid Build Coastguard Worker    CHIP_JUNIPER,
64*61046927SAndroid Build Coastguard Worker    CHIP_CYPRESS,
65*61046927SAndroid Build Coastguard Worker    CHIP_HEMLOCK,
66*61046927SAndroid Build Coastguard Worker    CHIP_PALM,
67*61046927SAndroid Build Coastguard Worker    CHIP_SUMO,
68*61046927SAndroid Build Coastguard Worker    CHIP_SUMO2,
69*61046927SAndroid Build Coastguard Worker    CHIP_BARTS,
70*61046927SAndroid Build Coastguard Worker    CHIP_TURKS,
71*61046927SAndroid Build Coastguard Worker    CHIP_CAICOS,
72*61046927SAndroid Build Coastguard Worker    /* GFX5 (Northern Islands) */
73*61046927SAndroid Build Coastguard Worker    CHIP_CAYMAN,
74*61046927SAndroid Build Coastguard Worker    CHIP_ARUBA,
75*61046927SAndroid Build Coastguard Worker    /* GFX6 (Southern Islands) */
76*61046927SAndroid Build Coastguard Worker    CHIP_TAHITI,
77*61046927SAndroid Build Coastguard Worker    CHIP_PITCAIRN,
78*61046927SAndroid Build Coastguard Worker    CHIP_VERDE,
79*61046927SAndroid Build Coastguard Worker    CHIP_OLAND,
80*61046927SAndroid Build Coastguard Worker    CHIP_HAINAN,
81*61046927SAndroid Build Coastguard Worker    /* GFX7 (Sea Islands) */
82*61046927SAndroid Build Coastguard Worker    CHIP_BONAIRE,
83*61046927SAndroid Build Coastguard Worker    CHIP_KAVERI,
84*61046927SAndroid Build Coastguard Worker    CHIP_KABINI,
85*61046927SAndroid Build Coastguard Worker    CHIP_HAWAII,         /* Radeon 290, 390 */
86*61046927SAndroid Build Coastguard Worker    /* GFX8 (Volcanic Islands & Polaris) */
87*61046927SAndroid Build Coastguard Worker    CHIP_TONGA,          /* Radeon 285, 380 */
88*61046927SAndroid Build Coastguard Worker    CHIP_ICELAND,
89*61046927SAndroid Build Coastguard Worker    CHIP_CARRIZO,
90*61046927SAndroid Build Coastguard Worker    CHIP_FIJI,           /* Radeon Fury */
91*61046927SAndroid Build Coastguard Worker    CHIP_STONEY,
92*61046927SAndroid Build Coastguard Worker    CHIP_POLARIS10,      /* Radeon 470, 480, 570, 580, 590 */
93*61046927SAndroid Build Coastguard Worker    CHIP_POLARIS11,      /* Radeon 460, 560 */
94*61046927SAndroid Build Coastguard Worker    CHIP_POLARIS12,      /* Radeon 540, 550 */
95*61046927SAndroid Build Coastguard Worker    CHIP_VEGAM,
96*61046927SAndroid Build Coastguard Worker    /* GFX9 (Vega) */
97*61046927SAndroid Build Coastguard Worker    CHIP_VEGA10,         /* Vega 56, 64 */
98*61046927SAndroid Build Coastguard Worker    CHIP_VEGA12,
99*61046927SAndroid Build Coastguard Worker    CHIP_VEGA20,         /* Radeon VII, MI50 */
100*61046927SAndroid Build Coastguard Worker    CHIP_RAVEN,          /* Ryzen 2000, 3000 */
101*61046927SAndroid Build Coastguard Worker    CHIP_RAVEN2,         /* Ryzen 2200U, 3200U */
102*61046927SAndroid Build Coastguard Worker    CHIP_RENOIR,         /* Ryzen 4000, 5000 */
103*61046927SAndroid Build Coastguard Worker    CHIP_MI100,
104*61046927SAndroid Build Coastguard Worker    CHIP_MI200,
105*61046927SAndroid Build Coastguard Worker    CHIP_GFX940,
106*61046927SAndroid Build Coastguard Worker    /* GFX10.1 (RDNA 1) */
107*61046927SAndroid Build Coastguard Worker    CHIP_NAVI10,         /* Radeon 5600, 5700 */
108*61046927SAndroid Build Coastguard Worker    CHIP_NAVI12,         /* Radeon Pro 5600M */
109*61046927SAndroid Build Coastguard Worker    CHIP_NAVI14,         /* Radeon 5300, 5500 */
110*61046927SAndroid Build Coastguard Worker    /* GFX10.3 (RDNA 2) */
111*61046927SAndroid Build Coastguard Worker    CHIP_NAVI21,         /* Radeon 6800, 6900 (formerly "Sienna Cichlid") */
112*61046927SAndroid Build Coastguard Worker    CHIP_NAVI22,         /* Radeon 6700 (formerly "Navy Flounder") */
113*61046927SAndroid Build Coastguard Worker    CHIP_VANGOGH,        /* Steam Deck */
114*61046927SAndroid Build Coastguard Worker    CHIP_NAVI23,         /* Radeon 6600 (formerly "Dimgrey Cavefish") */
115*61046927SAndroid Build Coastguard Worker    CHIP_NAVI24,         /* Radeon 6400, 6500 (formerly "Beige Goby") */
116*61046927SAndroid Build Coastguard Worker    CHIP_REMBRANDT,      /* Ryzen 6000 (formerly "Yellow Carp") */
117*61046927SAndroid Build Coastguard Worker    CHIP_RAPHAEL_MENDOCINO, /* Ryzen 7000(X), Ryzen 7045, Ryzen 7020 */
118*61046927SAndroid Build Coastguard Worker    /* GFX11 (RDNA 3) */
119*61046927SAndroid Build Coastguard Worker    CHIP_NAVI31,         /* Radeon 7900 */
120*61046927SAndroid Build Coastguard Worker    CHIP_NAVI32,         /* Radeon 7800, 7700 */
121*61046927SAndroid Build Coastguard Worker    CHIP_NAVI33,         /* Radeon 7600, 7700S (mobile) */
122*61046927SAndroid Build Coastguard Worker    CHIP_GFX1103_R1,
123*61046927SAndroid Build Coastguard Worker    CHIP_GFX1103_R2,
124*61046927SAndroid Build Coastguard Worker    CHIP_GFX1150,
125*61046927SAndroid Build Coastguard Worker    CHIP_GFX1151,
126*61046927SAndroid Build Coastguard Worker    CHIP_GFX1152,
127*61046927SAndroid Build Coastguard Worker    CHIP_GFX1200,
128*61046927SAndroid Build Coastguard Worker    CHIP_GFX1201,
129*61046927SAndroid Build Coastguard Worker    CHIP_LAST,
130*61046927SAndroid Build Coastguard Worker };
131*61046927SAndroid Build Coastguard Worker 
132*61046927SAndroid Build Coastguard Worker enum amd_gfx_level
133*61046927SAndroid Build Coastguard Worker {
134*61046927SAndroid Build Coastguard Worker    CLASS_UNKNOWN = 0,
135*61046927SAndroid Build Coastguard Worker    R300,
136*61046927SAndroid Build Coastguard Worker    R400,
137*61046927SAndroid Build Coastguard Worker    R500,
138*61046927SAndroid Build Coastguard Worker    R600,
139*61046927SAndroid Build Coastguard Worker    R700,
140*61046927SAndroid Build Coastguard Worker    EVERGREEN,
141*61046927SAndroid Build Coastguard Worker    CAYMAN,
142*61046927SAndroid Build Coastguard Worker    GFX6,
143*61046927SAndroid Build Coastguard Worker    GFX7,
144*61046927SAndroid Build Coastguard Worker    GFX8,
145*61046927SAndroid Build Coastguard Worker    GFX9,
146*61046927SAndroid Build Coastguard Worker    GFX10,
147*61046927SAndroid Build Coastguard Worker    GFX10_3,
148*61046927SAndroid Build Coastguard Worker    GFX11,
149*61046927SAndroid Build Coastguard Worker    GFX11_5,
150*61046927SAndroid Build Coastguard Worker    GFX12,
151*61046927SAndroid Build Coastguard Worker 
152*61046927SAndroid Build Coastguard Worker    NUM_GFX_VERSIONS,
153*61046927SAndroid Build Coastguard Worker };
154*61046927SAndroid Build Coastguard Worker 
155*61046927SAndroid Build Coastguard Worker enum amd_ip_type
156*61046927SAndroid Build Coastguard Worker {
157*61046927SAndroid Build Coastguard Worker    AMD_IP_GFX = 0,
158*61046927SAndroid Build Coastguard Worker    AMD_IP_COMPUTE,
159*61046927SAndroid Build Coastguard Worker    AMD_IP_SDMA,
160*61046927SAndroid Build Coastguard Worker    AMD_IP_UVD,
161*61046927SAndroid Build Coastguard Worker    AMD_IP_VCE,
162*61046927SAndroid Build Coastguard Worker    AMD_IP_UVD_ENC,
163*61046927SAndroid Build Coastguard Worker    AMD_IP_VCN_DEC,
164*61046927SAndroid Build Coastguard Worker    AMD_IP_VCN_ENC,
165*61046927SAndroid Build Coastguard Worker    AMD_IP_VCN_UNIFIED = AMD_IP_VCN_ENC,
166*61046927SAndroid Build Coastguard Worker    AMD_IP_VCN_JPEG,
167*61046927SAndroid Build Coastguard Worker    AMD_IP_VPE,
168*61046927SAndroid Build Coastguard Worker    AMD_NUM_IP_TYPES,
169*61046927SAndroid Build Coastguard Worker };
170*61046927SAndroid Build Coastguard Worker 
171*61046927SAndroid Build Coastguard Worker enum amd_vram_type {
172*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_UNKNOWN = 0,
173*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_GDDR1,
174*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_DDR2,
175*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_GDDR3,
176*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_GDDR4,
177*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_GDDR5,
178*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_HBM,
179*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_DDR3,
180*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_DDR4,
181*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_GDDR6,
182*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_DDR5,
183*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_LPDDR4,
184*61046927SAndroid Build Coastguard Worker    AMD_VRAM_TYPE_LPDDR5,
185*61046927SAndroid Build Coastguard Worker };
186*61046927SAndroid Build Coastguard Worker 
187*61046927SAndroid Build Coastguard Worker enum vcn_version{
188*61046927SAndroid Build Coastguard Worker    VCN_UNKNOWN,
189*61046927SAndroid Build Coastguard Worker    VCN_1_0_0,
190*61046927SAndroid Build Coastguard Worker    VCN_1_0_1,
191*61046927SAndroid Build Coastguard Worker 
192*61046927SAndroid Build Coastguard Worker    VCN_2_0_0,
193*61046927SAndroid Build Coastguard Worker    VCN_2_0_2,
194*61046927SAndroid Build Coastguard Worker    VCN_2_0_3,
195*61046927SAndroid Build Coastguard Worker    VCN_2_2_0,
196*61046927SAndroid Build Coastguard Worker    VCN_2_5_0,
197*61046927SAndroid Build Coastguard Worker    VCN_2_6_0,
198*61046927SAndroid Build Coastguard Worker 
199*61046927SAndroid Build Coastguard Worker    VCN_3_0_0,
200*61046927SAndroid Build Coastguard Worker    VCN_3_0_2,
201*61046927SAndroid Build Coastguard Worker    VCN_3_0_16,
202*61046927SAndroid Build Coastguard Worker    VCN_3_0_33,
203*61046927SAndroid Build Coastguard Worker    VCN_3_1_1,
204*61046927SAndroid Build Coastguard Worker    VCN_3_1_2,
205*61046927SAndroid Build Coastguard Worker 
206*61046927SAndroid Build Coastguard Worker    VCN_4_0_0,
207*61046927SAndroid Build Coastguard Worker    VCN_4_0_2,
208*61046927SAndroid Build Coastguard Worker    VCN_4_0_3,
209*61046927SAndroid Build Coastguard Worker    VCN_4_0_4,
210*61046927SAndroid Build Coastguard Worker    VCN_4_0_5,
211*61046927SAndroid Build Coastguard Worker    VCN_4_0_6,
212*61046927SAndroid Build Coastguard Worker 
213*61046927SAndroid Build Coastguard Worker    VCN_5_0_0,
214*61046927SAndroid Build Coastguard Worker };
215*61046927SAndroid Build Coastguard Worker 
216*61046927SAndroid Build Coastguard Worker #define SDMA_VERSION_VALUE(major, minor) (((major) << 8) | (minor))
217*61046927SAndroid Build Coastguard Worker 
218*61046927SAndroid Build Coastguard Worker enum sdma_version {
219*61046927SAndroid Build Coastguard Worker    SDMA_UNKNOWN = 0,
220*61046927SAndroid Build Coastguard Worker    /* GFX6 */
221*61046927SAndroid Build Coastguard Worker    SDMA_1_0 = SDMA_VERSION_VALUE(1, 0),
222*61046927SAndroid Build Coastguard Worker 
223*61046927SAndroid Build Coastguard Worker    /* GFX7 */
224*61046927SAndroid Build Coastguard Worker    SDMA_2_0 = SDMA_VERSION_VALUE(2, 0),
225*61046927SAndroid Build Coastguard Worker 
226*61046927SAndroid Build Coastguard Worker    /* GFX8 */
227*61046927SAndroid Build Coastguard Worker    SDMA_2_4 = SDMA_VERSION_VALUE(2, 4),
228*61046927SAndroid Build Coastguard Worker    SDMA_3_0 = SDMA_VERSION_VALUE(3, 0),
229*61046927SAndroid Build Coastguard Worker    SDMA_3_1 = SDMA_VERSION_VALUE(3, 1),
230*61046927SAndroid Build Coastguard Worker 
231*61046927SAndroid Build Coastguard Worker    /* GFX9 */
232*61046927SAndroid Build Coastguard Worker    SDMA_4_0 = SDMA_VERSION_VALUE(4, 0),
233*61046927SAndroid Build Coastguard Worker    SDMA_4_1 = SDMA_VERSION_VALUE(4, 1),
234*61046927SAndroid Build Coastguard Worker    SDMA_4_2 = SDMA_VERSION_VALUE(4, 2),
235*61046927SAndroid Build Coastguard Worker    SDMA_4_4 = SDMA_VERSION_VALUE(4, 4),
236*61046927SAndroid Build Coastguard Worker 
237*61046927SAndroid Build Coastguard Worker    /* GFX10 */
238*61046927SAndroid Build Coastguard Worker    SDMA_5_0 = SDMA_VERSION_VALUE(5, 0),
239*61046927SAndroid Build Coastguard Worker 
240*61046927SAndroid Build Coastguard Worker    /* GFX10.3 */
241*61046927SAndroid Build Coastguard Worker    SDMA_5_2 = SDMA_VERSION_VALUE(5, 2),
242*61046927SAndroid Build Coastguard Worker 
243*61046927SAndroid Build Coastguard Worker    /* GFX11 */
244*61046927SAndroid Build Coastguard Worker    SDMA_6_0 = SDMA_VERSION_VALUE(6, 0),
245*61046927SAndroid Build Coastguard Worker 
246*61046927SAndroid Build Coastguard Worker    /* GFX11.5 */
247*61046927SAndroid Build Coastguard Worker    SDMA_6_1 = SDMA_VERSION_VALUE(6, 1),
248*61046927SAndroid Build Coastguard Worker 
249*61046927SAndroid Build Coastguard Worker    /* GFX12 */
250*61046927SAndroid Build Coastguard Worker    SDMA_7_0 = SDMA_VERSION_VALUE(7, 0),
251*61046927SAndroid Build Coastguard Worker };
252*61046927SAndroid Build Coastguard Worker 
253*61046927SAndroid Build Coastguard Worker const char *ac_get_family_name(enum radeon_family family);
254*61046927SAndroid Build Coastguard Worker enum amd_gfx_level ac_get_gfx_level(enum radeon_family family);
255*61046927SAndroid Build Coastguard Worker unsigned ac_get_family_id(enum radeon_family family);
256*61046927SAndroid Build Coastguard Worker const char *ac_get_llvm_processor_name(enum radeon_family family);
257*61046927SAndroid Build Coastguard Worker const char *ac_get_ip_type_string(const struct radeon_info *info, enum amd_ip_type ip_type);
258*61046927SAndroid Build Coastguard Worker 
259*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
260*61046927SAndroid Build Coastguard Worker }
261*61046927SAndroid Build Coastguard Worker #endif
262*61046927SAndroid Build Coastguard Worker 
263*61046927SAndroid Build Coastguard Worker #endif
264