1 /*
2  * Copyright © 2014 Intel Corporation
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the
6  * "Software"), to deal in the Software without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sub license, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the
13  * next paragraph) shall be included in all copies or substantial portions
14  * of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19  * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  *
24  * Authors:
25  *     Wei Lin<wei.w.lin@intel.com>
26  *     Yuting Yang<yuting.yang@intel.com>
27  */
28 
29 #ifndef __HWINFO_LINUX_H__
30 #define __HWINFO_LINUX_H__
31 
32 typedef enum __GTTYPE {
33 	GTTYPE_GT1 = 0x0,
34 	GTTYPE_GT2,
35 	GTTYPE_GT2_FUSED_TO_GT1,
36 	GTTYPE_GT2_FUSED_TO_GT1_6,
37 	GTTYPE_GTL,
38 	GTTYPE_GTM,
39 	GTTYPE_GTH,
40 	GTTYPE_GT1_5,
41 	GTTYPE_GT1_75,
42 	GTTYPE_GT3,
43 	GTTYPE_GT4,
44 	GTTYPE_GT0,
45 	GTTYPE_GTA,// BXT
46 	GTTYPE_GTC,// BXT
47 	GTTYPE_GTX, // BXT
48 	GTTYPE_GT3_5,//SKL
49 	GTTYPE_UNDEFINED,
50 } GTTYPE, *PGTTYPE;
51 
52 typedef enum {
53 	IGFX_UNKNOWN = 0,
54 	IGFX_HASWELL,
55 	IGFX_BROADWELL,
56 	IGFX_CHERRYVIEW,
57 	IGFX_SKYLAKE,
58 	IGFX_BROXTON,
59 	IGFX_KABYLAKE,
60 
61 	IGFX_GENNEXT = 0x7ffffffe,
62 	PRODUCT_FAMILY_FORCE_ULONG = 0x7fffffff
63 } PRODUCT_FAMILY;
64 
65 typedef enum {
66 	PCH_UNKNOWN = 0,
67 	PCH_IBX,
68 	PCH_CPT,
69 	PCH_CPTR,
70 	PCH_PPT,
71 	PCH_LPT,
72 	PCH_LPTR,
73 	PCH_WPT,
74 	PCH_PRODUCT_FAMILY_FORCE_ULONG = 0x7fffffff
75 } PCH_PRODUCT_FAMILY;
76 
77 typedef enum {
78 	IGFX_UNKNOWN_CORE = 0,
79 	IGFX_GEN5_CORE = 5,
80         IGFX_GEN6_CORE = 8,
81 	IGFX_GEN7_CORE = 9,
82 	IGFX_GEN7_5_CORE = 10,
83 	IGFX_GEN8_CORE = 11,
84 	IGFX_GEN9_CORE = 12,
85 
86 	IGFX_GENNEXT_CORE = 0x7ffffffe,
87 	GFXCORE_FAMILY_FORCE_ULONG = 0x7fffffff
88 } GFXCORE_FAMILY;
89 
90 typedef enum {
91 	PLATFORM_NONE = 0x00,
92 	PLATFORM_DESKTOP = 0x01,
93 	PLATFORM_MOBILE = 0x02,
94 	PLATFORM_TABLET = 0X03,
95 	PLATFORM_ALL = 0xff,
96 } PLATFORM_TYPE;
97 
98 typedef struct PLATFORM_STR {
99 	PRODUCT_FAMILY eProductFamily;
100 	PCH_PRODUCT_FAMILY ePCHProductFamily;
101 	GFXCORE_FAMILY eDisplayCoreFamily;
102 	GFXCORE_FAMILY eRenderCoreFamily;
103 	PLATFORM_TYPE ePlatformType;
104 
105 	unsigned short usRevId;
106 	unsigned short usRevId_PCH;
107 	unsigned int pchDeviceID;
108 	GTTYPE GtType;
109 } PLATFORM;
110 
111 #define PCH_IS_PRODUCT(p, r)            ( (p).ePCHProductFamily == r )
112 #define PCH_GET_CURRENT_PRODUCT(p)      ( (p).ePCHProductFamily )
113 
114 #define GFX_IS_PRODUCT(p, r)           ( (p).eProductFamily == r )
115 #define GFX_IS_DISPLAYCORE(p, d)       ( (p).eDisplayCoreFamily == d )
116 #define GFX_IS_RENDERCORE(p, r)        ( (p).eRenderCoreFamily == r )
117 
118 #define GFX_GET_CURRENT_PRODUCT(p)     ( (p).eProductFamily )
119 #define GFX_GET_CURRENT_DISPLAYCORE(p) ( (p).eDisplayCoreFamily )
120 #define GFX_GET_CURRENT_RENDERCORE(p)  ( (p).eRenderCoreFamily )
121 
122 #define IHSW_GTH_DESK_DEVICE_F0_ID       0x0090
123 #define IHSW_GTM_DESK_DEVICE_F0_ID       0x0091
124 #define IHSW_GTL_DESK_DEVICE_F0_ID       0x0092
125 #define IHSW_DESK_DEV_F0_ID              0x0C02
126 #define IHSW_MOBL_DEV_F0_ID              0x0C06
127 #define IHSW_DESK_DEV_F0_M_ID            0x0C12
128 #define IHSW_MOBL_DEV_F0_M_ID            0x0C16
129 #define IHSW_DESK_DEV_F0_H_ID            0x0C22
130 #define IHSW_MOBL_DEV_F0_H_ID            0x0C26
131 #define IHSW_VA_DEV_F0_ID                0x0C0B
132 
133 #define IHSW_MOBL_DEVICE_F0_ID          0x0094
134 
135 #define IHSW_CL_DESK_GT1_DEV_ID              0x402
136 #define IHSW_CL_MOBL_GT1_DEV_ID              0x406
137 #define IHSW_CL_SERV_GT1_DEV_ID              0x40A
138 #define IHSW_CL_DESK_GT2_DEV_ID              0x412
139 #define IHSW_CL_MOBL_GT2_DEV_ID              0x416
140 #define IHSW_CL_WS_GT2_DEV_ID                0x41B
141 #define IHSW_CL_SERV_GT2_DEV_ID              0x41A
142 
143 #define IHSW_ULT_MOBL_GT1_DEV_ID              0xA06
144 #define IHSW_ULT_MOBL_GT2_DEV_ID              0xA16
145 #define IHSW_ULT_MOBL_GT3_DEV_ID              0xA26
146 #define IHSW_ULT_MRKT_GT3_DEV_ID              0xA2E
147 
148 #define IHSW_ULX_MOBL_GT1_DEV_ID              0xA0E
149 #define IHSW_ULX_MOBL_GT2_DEV_ID              0xA1E
150 
151 #define IHSW_CRW_DESK_GT2_DEV_ID              0xD12
152 #define IHSW_CRW_MOBL_GT2_DEV_ID              0xD16
153 #define IHSW_CRW_DESK_GT3_DEV_ID              0xD22
154 #define IHSW_CRW_MOBL_GT3_DEV_ID              0xD26
155 #define IHSW_CRW_SERV_GT3_DEV_ID              0xD2A
156 
157 #define IVLV_PLUS_MOBL_DEVICE_F0_ID      0x0F31
158 
159 #define ICHV_MOBL_DEVICE_F0_ID           0x22B0
160 #define ICHV_PLUS_MOBL_DEVICE_F0_ID      0x22B1
161 #define ICHV_DESK_DEVICE_F0_ID           0x22B2
162 #define ICHV_PLUS_DESK_DEVICE_F0_ID      0x22B3
163 
164 #define IBDW_GT0_DESK_DEVICE_F0_ID              0x0BD0
165 #define IBDW_GT1_DESK_DEVICE_F0_ID              0x0BD1
166 #define IBDW_GT2_DESK_DEVICE_F0_ID              0x0BD2
167 #define IBDW_GT3_DESK_DEVICE_F0_ID              0x0BD3
168 
169 #define IBDW_GT1_HALO_MOBL_DEVICE_F0_ID         0x1602
170 #define IBDW_GT1_ULT_MOBL_DEVICE_F0_ID          0x1606
171 #define IBDW_GT1_RSVD_DEVICE_F0_ID              0x160B
172 #define IBDW_GT1_SERV_DEVICE_F0_ID              0x160A
173 #define IBDW_GT1_WRK_DEVICE_F0_ID               0x160D
174 #define IBDW_GT1_ULX_DEVICE_F0_ID               0x160E
175 #define IBDW_GT2_HALO_MOBL_DEVICE_F0_ID         0x1612
176 #define IBDW_GT2_ULT_MOBL_DEVICE_F0_ID          0x1616
177 #define IBDW_GT2_RSVD_DEVICE_F0_ID              0x161B
178 #define IBDW_GT2_SERV_DEVICE_F0_ID              0x161A
179 #define IBDW_GT2_WRK_DEVICE_F0_ID               0x161D
180 #define IBDW_GT2_ULX_DEVICE_F0_ID               0x161E
181 #define IBDW_GT3_HALO_MOBL_DEVICE_F0_ID         0x1622
182 #define IBDW_GT3_ULT_MOBL_DEVICE_F0_ID          0x1626
183 #define IBDW_GT3_ULT25W_MOBL_DEVICE_F0_ID       0x162B
184 #define IBDW_GT3_SERV_DEVICE_F0_ID              0x162A
185 #define IBDW_GT3_WRK_DEVICE_F0_ID               0x162D
186 #define IBDW_GT3_ULX_DEVICE_F0_ID               0x162E
187 #define IBDW_RSVD_MRKT_DEVICE_F0_ID             0x1632
188 #define IBDW_RSVD_ULT_MOBL_DEVICE_F0_ID         0x1636
189 #define IBDW_RSVD_HALO_MOBL_DEVICE_F0_ID        0x163B
190 #define IBDW_RSVD_SERV_DEVICE_F0_ID             0x163A
191 #define IBDW_RSVD_WRK_DEVICE_F0_ID              0x163D
192 #define IBDW_RSVD_ULX_DEVICE_F0_ID              0x163E
193 
194 #define ISKL_GT0_DESK_DEVICE_F0_ID              0x0900
195 #define ISKL_GT1_DESK_DEVICE_F0_ID              0x0901
196 #define ISKL_GT2_DESK_DEVICE_F0_ID              0x0902
197 #define ISKL_GT4_DT_DEVICE_F0_ID                0x1932
198 #define ISKL_GT2_DT_DEVICE_F0_ID                0x1912
199 #define ISKL_GT1_5_DT_DEVICE_F0_ID              0x1917
200 #define ISKL_GT1_DT_DEVICE_F0_ID                0x1902
201 #define ISKL_GT3_DESK_DEVICE_F0_ID              0x0903
202 #define ISKL_GT4_DESK_DEVICE_F0_ID              0x0904
203 #define ISKL_GT2_ULT_DEVICE_F0_ID               0x1916
204 #define ISKL_GT2F_ULT_DEVICE_F0_ID              0x1921
205 #define ISKL_GT2_ULX_DEVICE_F0_ID               0x191E
206 #define ISKL_GT1_ULT_DEVICE_F0_ID               0x1906
207 #define ISKL_GT1_ULX_DEVICE_F0_ID               0x190E
208 #define ISKL_GT1_5_ULT_DEVICE_F0_ID             0x1913
209 #define ISKL_GT1_5_ULX_DEVICE_F0_ID             0x1915
210 #define ISKL_GT3_ULT_DEVICE_F0_ID               0x1926
211 #define ISKL_GT1_HALO_MOBL_DEVICE_F0_ID         0x190B
212 #define ISKL_GT2_HALO_MOBL_DEVICE_F0_ID         0x191B
213 #define ISKL_GT3_HALO_MOBL_DEVICE_F0_ID         0x192B
214 #define ISKL_GT4_HALO_MOBL_DEVICE_F0_ID         0x193B
215 #define ISKL_GT0_MOBL_DEVICE_F0_ID              0xFFFF
216 #define ISKL_GT1_SERV_DEVICE_F0_ID              0x190A
217 #define ISKL_GT2_SERV_DEVICE_F0_ID              0x191A
218 #define ISKL_GT3_SERV_DEVICE_F0_ID              0x192A
219 #define ISKL_GT4_SERV_DEVICE_F0_ID              0x193A
220 #define ISKL_GT2_WRK_DEVICE_F0_ID               0x191D
221 #define ISKL_GT4_WRK_DEVICE_F0_ID               0x193D
222 
223 #define IBXT_GT_3x6_DEVICE_ID                0x0A84
224 #define IBXT_PRO_3x6_DEVICE_ID               0x1A84 //18EU
225 #define IBXT_PRO_12EU_3x6_DEVICE_ID          0x1A85 //12 EU
226 #define IBXT_P_3x6_DEVICE_ID                 0x5A84 //18EU APL
227 #define IBXT_P_12EU_3x6_DEVICE_ID            0x5A85 //12EU APL
228 
229 #define IKBL_GT1_ULT_DEVICE_F0_ID               0x5906
230 #define IKBL_GT1_5_ULT_DEVICE_F0_ID             0x5913
231 #define IKBL_GT2_ULT_DEVICE_F0_ID               0x5916
232 #define IKBL_GT2F_ULT_DEVICE_F0_ID              0x5921
233 #define IKBL_GT3_ULT_DEVICE_F0_ID               0x5926
234 #define IKBL_GT1_ULX_DEVICE_F0_ID               0x590E
235 #define IKBL_GT1_5_ULX_DEVICE_F0_ID             0x5915
236 #define IKBL_GT2_ULX_DEVICE_F0_ID               0x591E
237 #define IKBL_GT1_DT_DEVICE_F0_ID                0x5902
238 #define IKBL_GT1_5_DT_DEVICE_F0_ID              0x5917
239 #define IKBL_GT2_DT_DEVICE_F0_ID                0x5912
240 #define IKBL_GT4_DT_DEVICE_F0_ID                0x5932
241 #define IKBL_GT1_HALO_DEVICE_F0_ID              0x590B
242 #define IKBL_GT2_HALO_DEVICE_F0_ID              0x591B
243 #define IKBL_GT3_HALO_DEVICE_F0_ID              0x592B
244 #define IKBL_GT4_HALO_DEVICE_F0_ID              0x593B
245 #define IKBL_GT1_SERV_DEVICE_F0_ID              0x590A
246 #define IKBL_GT2_SERV_DEVICE_F0_ID              0x591A
247 #define IKBL_GT3_SERV_DEVICE_F0_ID              0x592A
248 #define IKBL_GT4_SERV_DEVICE_F0_ID              0x593A
249 #define IKBL_GT2_WRK_DEVICE_F0_ID               0x591D
250 #define IKBL_GT4_WRK_DEVICE_F0_ID               0x593D
251 
252 #define IS_GEN7_5(device_id) ( device_id == IHSW_GTH_DESK_DEVICE_F0_ID    || \
253                                device_id == IHSW_GTM_DESK_DEVICE_F0_ID    || \
254                                device_id == IHSW_GTL_DESK_DEVICE_F0_ID    || \
255                                device_id == IHSW_DESK_DEV_F0_ID           || \
256                                device_id == IHSW_MOBL_DEV_F0_ID           || \
257                                device_id == IHSW_DESK_DEV_F0_M_ID         || \
258                                device_id == IHSW_MOBL_DEV_F0_M_ID         || \
259                                device_id == IHSW_DESK_DEV_F0_H_ID         || \
260                                device_id == IHSW_MOBL_DEV_F0_H_ID         || \
261                                device_id == IHSW_VA_DEV_F0_ID             || \
262                                device_id == IHSW_MOBL_DEVICE_F0_ID        || \
263                                device_id == IHSW_CL_DESK_GT1_DEV_ID       || \
264                                device_id == IHSW_CL_MOBL_GT1_DEV_ID       || \
265                                device_id == IHSW_CL_SERV_GT1_DEV_ID       || \
266                                device_id == IHSW_CL_DESK_GT2_DEV_ID       || \
267                                device_id == IHSW_CL_MOBL_GT2_DEV_ID       || \
268                                device_id == IHSW_CL_WS_GT2_DEV_ID         || \
269                                device_id == IHSW_CL_SERV_GT2_DEV_ID       || \
270                                device_id == IHSW_ULT_MOBL_GT1_DEV_ID      || \
271                                device_id == IHSW_ULT_MOBL_GT2_DEV_ID      || \
272                                device_id == IHSW_ULT_MOBL_GT3_DEV_ID      || \
273                                device_id == IHSW_ULT_MRKT_GT3_DEV_ID      || \
274                                device_id == IHSW_ULX_MOBL_GT1_DEV_ID      || \
275                                device_id == IHSW_ULX_MOBL_GT2_DEV_ID      || \
276                                device_id == IHSW_CRW_DESK_GT2_DEV_ID      || \
277                                device_id == IHSW_CRW_MOBL_GT2_DEV_ID      || \
278                                device_id == IHSW_CRW_DESK_GT3_DEV_ID      || \
279                                device_id == IHSW_CRW_MOBL_GT3_DEV_ID      || \
280                                device_id == IHSW_CRW_SERV_GT3_DEV_ID )
281 
282 #define IS_BROADWELL(device_id)  ( device_id == IBDW_GT0_DESK_DEVICE_F0_ID        || \
283                                    device_id == IBDW_GT1_DESK_DEVICE_F0_ID        || \
284                                    device_id == IBDW_GT2_DESK_DEVICE_F0_ID        || \
285                                    device_id == IBDW_GT3_DESK_DEVICE_F0_ID        || \
286                                    device_id == IBDW_GT1_RSVD_DEVICE_F0_ID        || \
287                                    device_id == IBDW_GT1_ULT_MOBL_DEVICE_F0_ID    || \
288                                    device_id == IBDW_GT1_HALO_MOBL_DEVICE_F0_ID   || \
289                                    device_id == IBDW_GT1_SERV_DEVICE_F0_ID        || \
290                                    device_id == IBDW_GT1_WRK_DEVICE_F0_ID         || \
291                                    device_id == IBDW_GT1_ULX_DEVICE_F0_ID         || \
292                                    device_id == IBDW_GT2_RSVD_DEVICE_F0_ID        || \
293                                    device_id == IBDW_GT2_ULT_MOBL_DEVICE_F0_ID    || \
294                                    device_id == IBDW_GT2_HALO_MOBL_DEVICE_F0_ID   || \
295                                    device_id == IBDW_GT2_SERV_DEVICE_F0_ID        || \
296                                    device_id == IBDW_GT2_WRK_DEVICE_F0_ID         || \
297                                    device_id == IBDW_GT2_ULX_DEVICE_F0_ID         || \
298                                    device_id == IBDW_GT3_ULT25W_MOBL_DEVICE_F0_ID || \
299                                    device_id == IBDW_GT3_ULT_MOBL_DEVICE_F0_ID    || \
300                                    device_id == IBDW_GT3_HALO_MOBL_DEVICE_F0_ID   || \
301                                    device_id == IBDW_GT3_SERV_DEVICE_F0_ID        || \
302                                    device_id == IBDW_GT3_WRK_DEVICE_F0_ID         || \
303                                    device_id == IBDW_GT3_ULX_DEVICE_F0_ID         || \
304                                    device_id == IBDW_RSVD_MRKT_DEVICE_F0_ID       || \
305                                    device_id == IBDW_RSVD_ULT_MOBL_DEVICE_F0_ID   || \
306                                    device_id == IBDW_RSVD_HALO_MOBL_DEVICE_F0_ID  || \
307                                    device_id == IBDW_RSVD_SERV_DEVICE_F0_ID       || \
308                                    device_id == IBDW_RSVD_WRK_DEVICE_F0_ID        || \
309                                    device_id == IBDW_RSVD_ULX_DEVICE_F0_ID )
310 
311 #define IS_CHERRYVIEW(device_id) ( device_id == ICHV_DESK_DEVICE_F0_ID      || \
312                                    device_id == ICHV_MOBL_DEVICE_F0_ID      || \
313                                    device_id == ICHV_PLUS_DESK_DEVICE_F0_ID || \
314                                    device_id == ICHV_PLUS_MOBL_DEVICE_F0_ID )
315 
316 #define IS_GEN8(device_id)       ( IS_BROADWELL(device_id) || IS_CHERRYVIEW(device_id) )
317 
318 #define IS_SKYLAKE(device_id)    ( device_id == ISKL_GT0_DESK_DEVICE_F0_ID || \
319                                    device_id == ISKL_GT1_DESK_DEVICE_F0_ID || \
320                                    device_id == ISKL_GT2_DESK_DEVICE_F0_ID || \
321                                    device_id == ISKL_GT4_DT_DEVICE_F0_ID || \
322                                    device_id == ISKL_GT2_DT_DEVICE_F0_ID || \
323                                    device_id == ISKL_GT1_5_DT_DEVICE_F0_ID || \
324                                    device_id == ISKL_GT1_DT_DEVICE_F0_ID || \
325                                    device_id == ISKL_GT3_DESK_DEVICE_F0_ID || \
326                                    device_id == ISKL_GT4_DESK_DEVICE_F0_ID || \
327                                    device_id == ISKL_GT2_ULT_DEVICE_F0_ID || \
328                                    device_id == ISKL_GT2F_ULT_DEVICE_F0_ID || \
329                                    device_id == ISKL_GT2_ULX_DEVICE_F0_ID || \
330                                    device_id == ISKL_GT1_ULT_DEVICE_F0_ID || \
331                                    device_id == ISKL_GT1_ULX_DEVICE_F0_ID || \
332                                    device_id == ISKL_GT1_5_ULT_DEVICE_F0_ID || \
333                                    device_id == ISKL_GT1_5_ULX_DEVICE_F0_ID || \
334                                    device_id == ISKL_GT3_ULT_DEVICE_F0_ID || \
335                                    device_id == ISKL_GT1_HALO_MOBL_DEVICE_F0_ID || \
336                                    device_id == ISKL_GT2_HALO_MOBL_DEVICE_F0_ID || \
337                                    device_id == ISKL_GT3_HALO_MOBL_DEVICE_F0_ID || \
338                                    device_id == ISKL_GT4_HALO_MOBL_DEVICE_F0_ID || \
339                                    device_id == ISKL_GT0_MOBL_DEVICE_F0_ID || \
340                                    device_id == ISKL_GT1_SERV_DEVICE_F0_ID || \
341                                    device_id == ISKL_GT2_SERV_DEVICE_F0_ID || \
342                                    device_id == ISKL_GT3_SERV_DEVICE_F0_ID || \
343                                    device_id == ISKL_GT4_SERV_DEVICE_F0_ID || \
344                                    device_id == ISKL_GT2_WRK_DEVICE_F0_ID || \
345                                    device_id == ISKL_GT4_WRK_DEVICE_F0_ID )
346 
347 #define IS_KABYLAKE(device_id)   ( device_id ==  IKBL_GT1_ULT_DEVICE_F0_ID    || \
348                                    device_id ==  IKBL_GT1_5_ULT_DEVICE_F0_ID  || \
349                                    device_id ==  IKBL_GT2_ULT_DEVICE_F0_ID    || \
350                                    device_id ==  IKBL_GT2F_ULT_DEVICE_F0_ID   || \
351                                    device_id ==  IKBL_GT3_ULT_DEVICE_F0_ID    || \
352                                    device_id ==  IKBL_GT1_ULX_DEVICE_F0_ID    || \
353                                    device_id ==  IKBL_GT1_5_ULX_DEVICE_F0_ID  || \
354                                    device_id ==  IKBL_GT2_ULX_DEVICE_F0_ID    || \
355                                    device_id ==  IKBL_GT1_DT_DEVICE_F0_ID     || \
356                                    device_id ==  IKBL_GT1_5_DT_DEVICE_F0_ID   || \
357                                    device_id ==  IKBL_GT2_DT_DEVICE_F0_ID     || \
358                                    device_id ==  IKBL_GT4_DT_DEVICE_F0_ID     || \
359                                    device_id ==  IKBL_GT1_HALO_DEVICE_F0_ID   || \
360                                    device_id ==  IKBL_GT2_HALO_DEVICE_F0_ID   || \
361                                    device_id ==  IKBL_GT3_HALO_DEVICE_F0_ID   || \
362                                    device_id ==  IKBL_GT4_HALO_DEVICE_F0_ID   || \
363                                    device_id ==  IKBL_GT1_SERV_DEVICE_F0_ID   || \
364                                    device_id ==  IKBL_GT2_SERV_DEVICE_F0_ID   || \
365                                    device_id ==  IKBL_GT3_SERV_DEVICE_F0_ID   || \
366                                    device_id ==  IKBL_GT4_SERV_DEVICE_F0_ID   || \
367                                    device_id ==  IKBL_GT2_WRK_DEVICE_F0_ID    || \
368                                    device_id ==  IKBL_GT4_WRK_DEVICE_F0_ID )
369 
370 
371 #define IS_BROXTON(device_id)   ( device_id == IBXT_GT_3x6_DEVICE_ID          || \
372                                   device_id == IBXT_PRO_3x6_DEVICE_ID         || \
373                                   device_id == IBXT_PRO_12EU_3x6_DEVICE_ID    || \
374                                   device_id == IBXT_P_3x6_DEVICE_ID           || \
375                                   device_id == IBXT_P_12EU_3x6_DEVICE_ID )
376 
377 #define IS_GEN9(device_id)       (IS_SKYLAKE(device_id) || IS_BROXTON(device_id))
378 #define IS_GEN9_5(device_id)     (IS_KABYLAKE(device_id))
379 
380 #define IS_SUPPORTED_GEN(device_id) ( \
381                                       IS_GEN7_5(device_id)        || \
382                                       IS_GEN8(device_id)          || \
383                                       IS_VALLEYVIEW_A0(device_id) || \
384                                       IS_GEN9(device_id)          || \
385                                       IS_GEN9_5(device_id) )
386 
387 #define IS_GEN7_5_PLUS(device_id)   ( IS_GEN7_5(device_id) || \
388                                       IS_GEN8(device_id) || \
389                                       IS_GEN9(device_id) || \
390                                       IS_GEN9_5(device_id) )
391 
392 #define IS_GEN8_PLUS(device_id)     ( IS_GEN8(device_id) || \
393                                       IS_GEN9(device_id) || \
394                                       IS_GEN9_5(device_id) )
395 
396 #endif
397