1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2022 Intel Corporation
4 */
5
6#ifndef _XE_PCIIDS_H_
7#define _XE_PCIIDS_H_
8
9/*
10 * Lists below can be turned into initializers for a struct pci_device_id
11 * by defining INTEL_VGA_DEVICE:
12 *
13 * #define INTEL_VGA_DEVICE(id, info) { \
14 * 0x8086, id, \
15 * ~0, ~0, \
16 * 0x030000, 0xff0000, \
17 * (unsigned long) info }
18 *
19 * And then calling like:
20 *
21 * XE_TGL_12_GT1_IDS(INTEL_VGA_DEVICE, ## __VA_ARGS__)
22 *
23 * To turn them into something else, just provide a different macro passed as
24 * first argument.
25 */
26
27/* TGL */
28#define XE_TGL_GT1_IDS(MACRO__, ...) \
29 MACRO__(0x9A60, ## __VA_ARGS__), \
30 MACRO__(0x9A68, ## __VA_ARGS__), \
31 MACRO__(0x9A70, ## __VA_ARGS__)
32
33#define XE_TGL_GT2_IDS(MACRO__, ...) \
34 MACRO__(0x9A40, ## __VA_ARGS__), \
35 MACRO__(0x9A49, ## __VA_ARGS__), \
36 MACRO__(0x9A59, ## __VA_ARGS__), \
37 MACRO__(0x9A78, ## __VA_ARGS__), \
38 MACRO__(0x9AC0, ## __VA_ARGS__), \
39 MACRO__(0x9AC9, ## __VA_ARGS__), \
40 MACRO__(0x9AD9, ## __VA_ARGS__), \
41 MACRO__(0x9AF8, ## __VA_ARGS__)
42
43#define XE_TGL_IDS(MACRO__, ...) \
44 XE_TGL_GT1_IDS(MACRO__, ## __VA_ARGS__),\
45 XE_TGL_GT2_IDS(MACRO__, ## __VA_ARGS__)
46
47/* RKL */
48#define XE_RKL_IDS(MACRO__, ...) \
49 MACRO__(0x4C80, ## __VA_ARGS__), \
50 MACRO__(0x4C8A, ## __VA_ARGS__), \
51 MACRO__(0x4C8B, ## __VA_ARGS__), \
52 MACRO__(0x4C8C, ## __VA_ARGS__), \
53 MACRO__(0x4C90, ## __VA_ARGS__), \
54 MACRO__(0x4C9A, ## __VA_ARGS__)
55
56/* DG1 */
57#define XE_DG1_IDS(MACRO__, ...) \
58 MACRO__(0x4905, ## __VA_ARGS__), \
59 MACRO__(0x4906, ## __VA_ARGS__), \
60 MACRO__(0x4907, ## __VA_ARGS__), \
61 MACRO__(0x4908, ## __VA_ARGS__), \
62 MACRO__(0x4909, ## __VA_ARGS__)
63
64/* ADL-S */
65#define XE_ADLS_IDS(MACRO__, ...) \
66 MACRO__(0x4680, ## __VA_ARGS__), \
67 MACRO__(0x4682, ## __VA_ARGS__), \
68 MACRO__(0x4688, ## __VA_ARGS__), \
69 MACRO__(0x468A, ## __VA_ARGS__), \
70 MACRO__(0x468B, ## __VA_ARGS__), \
71 MACRO__(0x4690, ## __VA_ARGS__), \
72 MACRO__(0x4692, ## __VA_ARGS__), \
73 MACRO__(0x4693, ## __VA_ARGS__)
74
75/* ADL-P */
76#define XE_ADLP_IDS(MACRO__, ...) \
77 MACRO__(0x46A0, ## __VA_ARGS__), \
78 MACRO__(0x46A1, ## __VA_ARGS__), \
79 MACRO__(0x46A2, ## __VA_ARGS__), \
80 MACRO__(0x46A3, ## __VA_ARGS__), \
81 MACRO__(0x46A6, ## __VA_ARGS__), \
82 MACRO__(0x46A8, ## __VA_ARGS__), \
83 MACRO__(0x46AA, ## __VA_ARGS__), \
84 MACRO__(0x462A, ## __VA_ARGS__), \
85 MACRO__(0x4626, ## __VA_ARGS__), \
86 MACRO__(0x4628, ## __VA_ARGS__), \
87 MACRO__(0x46B0, ## __VA_ARGS__), \
88 MACRO__(0x46B1, ## __VA_ARGS__), \
89 MACRO__(0x46B2, ## __VA_ARGS__), \
90 MACRO__(0x46B3, ## __VA_ARGS__), \
91 MACRO__(0x46C0, ## __VA_ARGS__), \
92 MACRO__(0x46C1, ## __VA_ARGS__), \
93 MACRO__(0x46C2, ## __VA_ARGS__), \
94 MACRO__(0x46C3, ## __VA_ARGS__)
95
96/* ADL-N */
97#define XE_ADLN_IDS(MACRO__, ...) \
98 MACRO__(0x46D0, ## __VA_ARGS__), \
99 MACRO__(0x46D1, ## __VA_ARGS__), \
100 MACRO__(0x46D2, ## __VA_ARGS__)
101
102/* RPL-S */
103#define XE_RPLS_IDS(MACRO__, ...) \
104 MACRO__(0xA780, ## __VA_ARGS__), \
105 MACRO__(0xA781, ## __VA_ARGS__), \
106 MACRO__(0xA782, ## __VA_ARGS__), \
107 MACRO__(0xA783, ## __VA_ARGS__), \
108 MACRO__(0xA788, ## __VA_ARGS__), \
109 MACRO__(0xA789, ## __VA_ARGS__), \
110 MACRO__(0xA78A, ## __VA_ARGS__), \
111 MACRO__(0xA78B, ## __VA_ARGS__)
112
113/* RPL-U */
114#define XE_RPLU_IDS(MACRO__, ...) \
115 MACRO__(0xA721, ## __VA_ARGS__), \
116 MACRO__(0xA7A1, ## __VA_ARGS__), \
117 MACRO__(0xA7A9, ## __VA_ARGS__), \
118 MACRO__(0xA7AC, ## __VA_ARGS__), \
119 MACRO__(0xA7AD, ## __VA_ARGS__)
120
121/* RPL-P */
122#define XE_RPLP_IDS(MACRO__, ...) \
123 XE_RPLU_IDS(MACRO__, ## __VA_ARGS__), \
124 MACRO__(0xA720, ## __VA_ARGS__), \
125 MACRO__(0xA7A0, ## __VA_ARGS__), \
126 MACRO__(0xA7A8, ## __VA_ARGS__), \
127 MACRO__(0xA7AA, ## __VA_ARGS__), \
128 MACRO__(0xA7AB, ## __VA_ARGS__)
129
130/* DG2 */
131#define XE_DG2_G10_IDS(MACRO__, ...) \
132 MACRO__(0x5690, ## __VA_ARGS__), \
133 MACRO__(0x5691, ## __VA_ARGS__), \
134 MACRO__(0x5692, ## __VA_ARGS__), \
135 MACRO__(0x56A0, ## __VA_ARGS__), \
136 MACRO__(0x56A1, ## __VA_ARGS__), \
137 MACRO__(0x56A2, ## __VA_ARGS__)
138
139#define XE_DG2_G11_IDS(MACRO__, ...) \
140 MACRO__(0x5693, ## __VA_ARGS__), \
141 MACRO__(0x5694, ## __VA_ARGS__), \
142 MACRO__(0x5695, ## __VA_ARGS__), \
143 MACRO__(0x56A5, ## __VA_ARGS__), \
144 MACRO__(0x56A6, ## __VA_ARGS__), \
145 MACRO__(0x56B0, ## __VA_ARGS__), \
146 MACRO__(0x56B1, ## __VA_ARGS__), \
147 MACRO__(0x56BA, ## __VA_ARGS__), \
148 MACRO__(0x56BB, ## __VA_ARGS__), \
149 MACRO__(0x56BC, ## __VA_ARGS__), \
150 MACRO__(0x56BD, ## __VA_ARGS__)
151
152#define XE_DG2_G12_IDS(MACRO__, ...) \
153 MACRO__(0x5696, ## __VA_ARGS__), \
154 MACRO__(0x5697, ## __VA_ARGS__), \
155 MACRO__(0x56A3, ## __VA_ARGS__), \
156 MACRO__(0x56A4, ## __VA_ARGS__), \
157 MACRO__(0x56B2, ## __VA_ARGS__), \
158 MACRO__(0x56B3, ## __VA_ARGS__)
159
160#define XE_DG2_IDS(MACRO__, ...) \
161 XE_DG2_G10_IDS(MACRO__, ## __VA_ARGS__),\
162 XE_DG2_G11_IDS(MACRO__, ## __VA_ARGS__),\
163 XE_DG2_G12_IDS(MACRO__, ## __VA_ARGS__)
164
165#define XE_ATS_M150_IDS(MACRO__, ...) \
166 MACRO__(0x56C0, ## __VA_ARGS__), \
167 MACRO__(0x56C2, ## __VA_ARGS__)
168
169#define XE_ATS_M75_IDS(MACRO__, ...) \
170 MACRO__(0x56C1, ## __VA_ARGS__)
171
172#define XE_ATS_M_IDS(MACRO__, ...) \
173 XE_ATS_M150_IDS(MACRO__, ## __VA_ARGS__),\
174 XE_ATS_M75_IDS(MACRO__, ## __VA_ARGS__)
175
176/* MTL / ARL */
177#define XE_MTL_IDS(MACRO__, ...) \
178 MACRO__(0x7D40, ## __VA_ARGS__), \
179 MACRO__(0x7D45, ## __VA_ARGS__), \
180 MACRO__(0x7D55, ## __VA_ARGS__), \
181 MACRO__(0x7D60, ## __VA_ARGS__), \
182 MACRO__(0x7D67, ## __VA_ARGS__), \
183 MACRO__(0x7DD5, ## __VA_ARGS__)
184
185#define XE_LNL_IDS(MACRO__, ...) \
186 MACRO__(0x6420, ## __VA_ARGS__), \
187 MACRO__(0x64A0, ## __VA_ARGS__), \
188 MACRO__(0x64B0, ## __VA_ARGS__)
189
190#endif
191

source code of linux/include/drm/xe_pciids.h