summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2019-04-23 20:02:20 -0400
committerDave Airlie <airlied@redhat.com>2019-04-23 20:02:20 -0400
commitb1c4f7feada5a5cf4e13db1631fb4784b1ddcb31 (patch)
tree34a961d189f43f16176b5bb48b00ad0e0d562e0d /include
parentb3edf499dd5bafa0cd3de74d574b9a2538cbc08f (diff)
parentad2c467aa92e283e9e8009bb9eb29a5c6a2d1217 (diff)
Merge tag 'drm-intel-next-2019-04-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
UAPI Changes: - uAPI "Fixes:" patch for the upcoming kernel 5.1, included here too We have an Ack from the media folks (only current user) for this late tweak Cross-subsystem Changes: - ALSA: hda: Fix racy display power access (Takashi, Chris) Driver Changes: - DDI and MIPI-DSI clocks fixes for Icelake (Vandita) - Fix Icelake frequency change/locking (RPS) (Mika) - Temporarily disable ppGTT read-only bit on Icelake (Mika) - Add missing Icelake W/As (Mika) - Enable 12 deep CSB status FIFO on Icelake (Mika) - Inherit more Icelake code for Elkhartlake (Bob, Jani) - Handle catastrophic error on engine reset (Mika) - Shortcut readiness to reset check (Mika) - Regression fix for GEM_BUSY causing us to report a mixed uabi-class request as not busy (Chris) - Revert back to max link rate and lane count on eDP (Jani) - Fix pipe BPP readout for BXT/GLK DSI (Ville) - Set DP min_bpp to 8*3 for non-RGB output formats (Ville) - Enable coarse preemption boundaries for Gen8 (Chris) - Do not enable FEC without DSC (Ville) - Restore correct BXT DDI latency optim setting calculation (Ville) - Always reset context's RING registers to avoid running workload twice during reset (Chris) - Set GPU wedged on driver unload (Janusz) - Consolidate two similar barries from timeline into one (Chris) - Only reset the pinned kernel contexts on resume (Chris) - Wakeref tracking improvements (Chris, Imre) - Lockdep fixes for shrinker interactions (Chris) - Bump ready tasks ahead of busywaits in prep of semaphore use (Chris) - Huge step in splitting display code into fine grained files (Jani) - Refactor the IRQ init/reset macros for code saving (Paulo) - Convert IRQ initialization code to uncore MMIO access (Paulo) - Convert workarounds code to use uncore MMIO access (Chris) - Nuke drm_crtc_state and use intel_atomic_state instead (Manasi) - Update SKL clock-gating WA (Radhakrishna, Ville) - Isolate GuC reset code flow (Chris) - Expose force_dsc_enable through debugfs (Manasi) - Header standalone compile testing framework (Jani) - Code cleanups to reduce driver footprint (Chris) - PSR code fixes and cleanups (Jose) - Sparse and kerneldoc updates (Chris) - Suppress spurious combo PHY B warning (Vile) Signed-off-by: Dave Airlie <airlied@redhat.com> From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190418080426.GA6409@jlahtine-desk.ger.corp.intel.com
Diffstat (limited to 'include')
-rw-r--r--include/drm/i915_pciids.h179
-rw-r--r--include/uapi/drm/i915_drm.h15
2 files changed, 141 insertions, 53 deletions
diff --git a/include/drm/i915_pciids.h b/include/drm/i915_pciids.h
index c7cdbfc4d033..6477da22af28 100644
--- a/include/drm/i915_pciids.h
+++ b/include/drm/i915_pciids.h
@@ -108,8 +108,10 @@
108 INTEL_VGA_DEVICE(0x2e42, info), /* B43_G */ \ 108 INTEL_VGA_DEVICE(0x2e42, info), /* B43_G */ \
109 INTEL_VGA_DEVICE(0x2e92, info) /* B43_G.1 */ 109 INTEL_VGA_DEVICE(0x2e92, info) /* B43_G.1 */
110 110
111#define INTEL_PINEVIEW_IDS(info) \ 111#define INTEL_PINEVIEW_G_IDS(info) \
112 INTEL_VGA_DEVICE(0xa001, info), \ 112 INTEL_VGA_DEVICE(0xa001, info)
113
114#define INTEL_PINEVIEW_M_IDS(info) \
113 INTEL_VGA_DEVICE(0xa011, info) 115 INTEL_VGA_DEVICE(0xa011, info)
114 116
115#define INTEL_IRONLAKE_D_IDS(info) \ 117#define INTEL_IRONLAKE_D_IDS(info) \
@@ -166,7 +168,18 @@
166#define INTEL_IVB_Q_IDS(info) \ 168#define INTEL_IVB_Q_IDS(info) \
167 INTEL_QUANTA_VGA_DEVICE(info) /* Quanta transcode */ 169 INTEL_QUANTA_VGA_DEVICE(info) /* Quanta transcode */
168 170
171#define INTEL_HSW_ULT_GT1_IDS(info) \
172 INTEL_VGA_DEVICE(0x0A02, info), /* ULT GT1 desktop */ \
173 INTEL_VGA_DEVICE(0x0A0A, info), /* ULT GT1 server */ \
174 INTEL_VGA_DEVICE(0x0A0B, info), /* ULT GT1 reserved */ \
175 INTEL_VGA_DEVICE(0x0A06, info) /* ULT GT1 mobile */
176
177#define INTEL_HSW_ULX_GT1_IDS(info) \
178 INTEL_VGA_DEVICE(0x0A0E, info) /* ULX GT1 mobile */
179
169#define INTEL_HSW_GT1_IDS(info) \ 180#define INTEL_HSW_GT1_IDS(info) \
181 INTEL_HSW_ULT_GT1_IDS(info), \
182 INTEL_HSW_ULX_GT1_IDS(info), \
170 INTEL_VGA_DEVICE(0x0402, info), /* GT1 desktop */ \ 183 INTEL_VGA_DEVICE(0x0402, info), /* GT1 desktop */ \
171 INTEL_VGA_DEVICE(0x040a, info), /* GT1 server */ \ 184 INTEL_VGA_DEVICE(0x040a, info), /* GT1 server */ \
172 INTEL_VGA_DEVICE(0x040B, info), /* GT1 reserved */ \ 185 INTEL_VGA_DEVICE(0x040B, info), /* GT1 reserved */ \
@@ -175,20 +188,26 @@
175 INTEL_VGA_DEVICE(0x0C0A, info), /* SDV GT1 server */ \ 188 INTEL_VGA_DEVICE(0x0C0A, info), /* SDV GT1 server */ \
176 INTEL_VGA_DEVICE(0x0C0B, info), /* SDV GT1 reserved */ \ 189 INTEL_VGA_DEVICE(0x0C0B, info), /* SDV GT1 reserved */ \
177 INTEL_VGA_DEVICE(0x0C0E, info), /* SDV GT1 reserved */ \ 190 INTEL_VGA_DEVICE(0x0C0E, info), /* SDV GT1 reserved */ \
178 INTEL_VGA_DEVICE(0x0A02, info), /* ULT GT1 desktop */ \
179 INTEL_VGA_DEVICE(0x0A0A, info), /* ULT GT1 server */ \
180 INTEL_VGA_DEVICE(0x0A0B, info), /* ULT GT1 reserved */ \
181 INTEL_VGA_DEVICE(0x0D02, info), /* CRW GT1 desktop */ \ 191 INTEL_VGA_DEVICE(0x0D02, info), /* CRW GT1 desktop */ \
182 INTEL_VGA_DEVICE(0x0D0A, info), /* CRW GT1 server */ \ 192 INTEL_VGA_DEVICE(0x0D0A, info), /* CRW GT1 server */ \
183 INTEL_VGA_DEVICE(0x0D0B, info), /* CRW GT1 reserved */ \ 193 INTEL_VGA_DEVICE(0x0D0B, info), /* CRW GT1 reserved */ \
184 INTEL_VGA_DEVICE(0x0D0E, info), /* CRW GT1 reserved */ \ 194 INTEL_VGA_DEVICE(0x0D0E, info), /* CRW GT1 reserved */ \
185 INTEL_VGA_DEVICE(0x0406, info), /* GT1 mobile */ \ 195 INTEL_VGA_DEVICE(0x0406, info), /* GT1 mobile */ \
186 INTEL_VGA_DEVICE(0x0C06, info), /* SDV GT1 mobile */ \ 196 INTEL_VGA_DEVICE(0x0C06, info), /* SDV GT1 mobile */ \
187 INTEL_VGA_DEVICE(0x0A06, info), /* ULT GT1 mobile */ \
188 INTEL_VGA_DEVICE(0x0A0E, info), /* ULX GT1 mobile */ \
189 INTEL_VGA_DEVICE(0x0D06, info) /* CRW GT1 mobile */ 197 INTEL_VGA_DEVICE(0x0D06, info) /* CRW GT1 mobile */
190 198
199#define INTEL_HSW_ULT_GT2_IDS(info) \
200 INTEL_VGA_DEVICE(0x0A12, info), /* ULT GT2 desktop */ \
201 INTEL_VGA_DEVICE(0x0A1A, info), /* ULT GT2 server */ \
202 INTEL_VGA_DEVICE(0x0A1B, info), /* ULT GT2 reserved */ \
203 INTEL_VGA_DEVICE(0x0A16, info) /* ULT GT2 mobile */
204
205#define INTEL_HSW_ULX_GT2_IDS(info) \
206 INTEL_VGA_DEVICE(0x0A1E, info) /* ULX GT2 mobile */ \
207
191#define INTEL_HSW_GT2_IDS(info) \ 208#define INTEL_HSW_GT2_IDS(info) \
209 INTEL_HSW_ULT_GT2_IDS(info), \
210 INTEL_HSW_ULX_GT2_IDS(info), \
192 INTEL_VGA_DEVICE(0x0412, info), /* GT2 desktop */ \ 211 INTEL_VGA_DEVICE(0x0412, info), /* GT2 desktop */ \
193 INTEL_VGA_DEVICE(0x041a, info), /* GT2 server */ \ 212 INTEL_VGA_DEVICE(0x041a, info), /* GT2 server */ \
194 INTEL_VGA_DEVICE(0x041B, info), /* GT2 reserved */ \ 213 INTEL_VGA_DEVICE(0x041B, info), /* GT2 reserved */ \
@@ -197,9 +216,6 @@
197 INTEL_VGA_DEVICE(0x0C1A, info), /* SDV GT2 server */ \ 216 INTEL_VGA_DEVICE(0x0C1A, info), /* SDV GT2 server */ \
198 INTEL_VGA_DEVICE(0x0C1B, info), /* SDV GT2 reserved */ \ 217 INTEL_VGA_DEVICE(0x0C1B, info), /* SDV GT2 reserved */ \
199 INTEL_VGA_DEVICE(0x0C1E, info), /* SDV GT2 reserved */ \ 218 INTEL_VGA_DEVICE(0x0C1E, info), /* SDV GT2 reserved */ \
200 INTEL_VGA_DEVICE(0x0A12, info), /* ULT GT2 desktop */ \
201 INTEL_VGA_DEVICE(0x0A1A, info), /* ULT GT2 server */ \
202 INTEL_VGA_DEVICE(0x0A1B, info), /* ULT GT2 reserved */ \
203 INTEL_VGA_DEVICE(0x0D12, info), /* CRW GT2 desktop */ \ 219 INTEL_VGA_DEVICE(0x0D12, info), /* CRW GT2 desktop */ \
204 INTEL_VGA_DEVICE(0x0D1A, info), /* CRW GT2 server */ \ 220 INTEL_VGA_DEVICE(0x0D1A, info), /* CRW GT2 server */ \
205 INTEL_VGA_DEVICE(0x0D1B, info), /* CRW GT2 reserved */ \ 221 INTEL_VGA_DEVICE(0x0D1B, info), /* CRW GT2 reserved */ \
@@ -207,11 +223,17 @@
207 INTEL_VGA_DEVICE(0x0416, info), /* GT2 mobile */ \ 223 INTEL_VGA_DEVICE(0x0416, info), /* GT2 mobile */ \
208 INTEL_VGA_DEVICE(0x0426, info), /* GT2 mobile */ \ 224 INTEL_VGA_DEVICE(0x0426, info), /* GT2 mobile */ \
209 INTEL_VGA_DEVICE(0x0C16, info), /* SDV GT2 mobile */ \ 225 INTEL_VGA_DEVICE(0x0C16, info), /* SDV GT2 mobile */ \
210 INTEL_VGA_DEVICE(0x0A16, info), /* ULT GT2 mobile */ \
211 INTEL_VGA_DEVICE(0x0A1E, info), /* ULX GT2 mobile */ \
212 INTEL_VGA_DEVICE(0x0D16, info) /* CRW GT2 mobile */ 226 INTEL_VGA_DEVICE(0x0D16, info) /* CRW GT2 mobile */
213 227
228#define INTEL_HSW_ULT_GT3_IDS(info) \
229 INTEL_VGA_DEVICE(0x0A22, info), /* ULT GT3 desktop */ \
230 INTEL_VGA_DEVICE(0x0A2A, info), /* ULT GT3 server */ \
231 INTEL_VGA_DEVICE(0x0A2B, info), /* ULT GT3 reserved */ \
232 INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \
233 INTEL_VGA_DEVICE(0x0A2E, info) /* ULT GT3 reserved */
234
214#define INTEL_HSW_GT3_IDS(info) \ 235#define INTEL_HSW_GT3_IDS(info) \
236 INTEL_HSW_ULT_GT3_IDS(info), \
215 INTEL_VGA_DEVICE(0x0422, info), /* GT3 desktop */ \ 237 INTEL_VGA_DEVICE(0x0422, info), /* GT3 desktop */ \
216 INTEL_VGA_DEVICE(0x042a, info), /* GT3 server */ \ 238 INTEL_VGA_DEVICE(0x042a, info), /* GT3 server */ \
217 INTEL_VGA_DEVICE(0x042B, info), /* GT3 reserved */ \ 239 INTEL_VGA_DEVICE(0x042B, info), /* GT3 reserved */ \
@@ -220,16 +242,11 @@
220 INTEL_VGA_DEVICE(0x0C2A, info), /* SDV GT3 server */ \ 242 INTEL_VGA_DEVICE(0x0C2A, info), /* SDV GT3 server */ \
221 INTEL_VGA_DEVICE(0x0C2B, info), /* SDV GT3 reserved */ \ 243 INTEL_VGA_DEVICE(0x0C2B, info), /* SDV GT3 reserved */ \
222 INTEL_VGA_DEVICE(0x0C2E, info), /* SDV GT3 reserved */ \ 244 INTEL_VGA_DEVICE(0x0C2E, info), /* SDV GT3 reserved */ \
223 INTEL_VGA_DEVICE(0x0A22, info), /* ULT GT3 desktop */ \
224 INTEL_VGA_DEVICE(0x0A2A, info), /* ULT GT3 server */ \
225 INTEL_VGA_DEVICE(0x0A2B, info), /* ULT GT3 reserved */ \
226 INTEL_VGA_DEVICE(0x0D22, info), /* CRW GT3 desktop */ \ 245 INTEL_VGA_DEVICE(0x0D22, info), /* CRW GT3 desktop */ \
227 INTEL_VGA_DEVICE(0x0D2A, info), /* CRW GT3 server */ \ 246 INTEL_VGA_DEVICE(0x0D2A, info), /* CRW GT3 server */ \
228 INTEL_VGA_DEVICE(0x0D2B, info), /* CRW GT3 reserved */ \ 247 INTEL_VGA_DEVICE(0x0D2B, info), /* CRW GT3 reserved */ \
229 INTEL_VGA_DEVICE(0x0D2E, info), /* CRW GT3 reserved */ \ 248 INTEL_VGA_DEVICE(0x0D2E, info), /* CRW GT3 reserved */ \
230 INTEL_VGA_DEVICE(0x0C26, info), /* SDV GT3 mobile */ \ 249 INTEL_VGA_DEVICE(0x0C26, info), /* SDV GT3 mobile */ \
231 INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \
232 INTEL_VGA_DEVICE(0x0A2E, info), /* ULT GT3 reserved */ \
233 INTEL_VGA_DEVICE(0x0D26, info) /* CRW GT3 mobile */ 250 INTEL_VGA_DEVICE(0x0D26, info) /* CRW GT3 mobile */
234 251
235#define INTEL_HSW_IDS(info) \ 252#define INTEL_HSW_IDS(info) \
@@ -245,35 +262,59 @@
245 INTEL_VGA_DEVICE(0x0157, info), \ 262 INTEL_VGA_DEVICE(0x0157, info), \
246 INTEL_VGA_DEVICE(0x0155, info) 263 INTEL_VGA_DEVICE(0x0155, info)
247 264
248#define INTEL_BDW_GT1_IDS(info) \ 265#define INTEL_BDW_ULT_GT1_IDS(info) \
249 INTEL_VGA_DEVICE(0x1602, info), /* GT1 ULT */ \
250 INTEL_VGA_DEVICE(0x1606, info), /* GT1 ULT */ \ 266 INTEL_VGA_DEVICE(0x1606, info), /* GT1 ULT */ \
251 INTEL_VGA_DEVICE(0x160B, info), /* GT1 Iris */ \ 267 INTEL_VGA_DEVICE(0x160B, info) /* GT1 Iris */
252 INTEL_VGA_DEVICE(0x160E, info), /* GT1 ULX */ \ 268
269#define INTEL_BDW_ULX_GT1_IDS(info) \
270 INTEL_VGA_DEVICE(0x160E, info) /* GT1 ULX */
271
272#define INTEL_BDW_GT1_IDS(info) \
273 INTEL_BDW_ULT_GT1_IDS(info), \
274 INTEL_BDW_ULX_GT1_IDS(info), \
275 INTEL_VGA_DEVICE(0x1602, info), /* GT1 ULT */ \
253 INTEL_VGA_DEVICE(0x160A, info), /* GT1 Server */ \ 276 INTEL_VGA_DEVICE(0x160A, info), /* GT1 Server */ \
254 INTEL_VGA_DEVICE(0x160D, info) /* GT1 Workstation */ 277 INTEL_VGA_DEVICE(0x160D, info) /* GT1 Workstation */
255 278
256#define INTEL_BDW_GT2_IDS(info) \ 279#define INTEL_BDW_ULT_GT2_IDS(info) \
257 INTEL_VGA_DEVICE(0x1612, info), /* GT2 Halo */ \
258 INTEL_VGA_DEVICE(0x1616, info), /* GT2 ULT */ \ 280 INTEL_VGA_DEVICE(0x1616, info), /* GT2 ULT */ \
259 INTEL_VGA_DEVICE(0x161B, info), /* GT2 ULT */ \ 281 INTEL_VGA_DEVICE(0x161B, info) /* GT2 ULT */
260 INTEL_VGA_DEVICE(0x161E, info), /* GT2 ULX */ \ 282
283#define INTEL_BDW_ULX_GT2_IDS(info) \
284 INTEL_VGA_DEVICE(0x161E, info) /* GT2 ULX */
285
286#define INTEL_BDW_GT2_IDS(info) \
287 INTEL_BDW_ULT_GT2_IDS(info), \
288 INTEL_BDW_ULX_GT2_IDS(info), \
289 INTEL_VGA_DEVICE(0x1612, info), /* GT2 Halo */ \
261 INTEL_VGA_DEVICE(0x161A, info), /* GT2 Server */ \ 290 INTEL_VGA_DEVICE(0x161A, info), /* GT2 Server */ \
262 INTEL_VGA_DEVICE(0x161D, info) /* GT2 Workstation */ 291 INTEL_VGA_DEVICE(0x161D, info) /* GT2 Workstation */
263 292
293#define INTEL_BDW_ULT_GT3_IDS(info) \
294 INTEL_VGA_DEVICE(0x1626, info), /* ULT */ \
295 INTEL_VGA_DEVICE(0x162B, info) /* Iris */ \
296
297#define INTEL_BDW_ULX_GT3_IDS(info) \
298 INTEL_VGA_DEVICE(0x162E, info) /* ULX */
299
264#define INTEL_BDW_GT3_IDS(info) \ 300#define INTEL_BDW_GT3_IDS(info) \
301 INTEL_BDW_ULT_GT3_IDS(info), \
302 INTEL_BDW_ULX_GT3_IDS(info), \
265 INTEL_VGA_DEVICE(0x1622, info), /* ULT */ \ 303 INTEL_VGA_DEVICE(0x1622, info), /* ULT */ \
266 INTEL_VGA_DEVICE(0x1626, info), /* ULT */ \
267 INTEL_VGA_DEVICE(0x162B, info), /* Iris */ \
268 INTEL_VGA_DEVICE(0x162E, info), /* ULX */\
269 INTEL_VGA_DEVICE(0x162A, info), /* Server */ \ 304 INTEL_VGA_DEVICE(0x162A, info), /* Server */ \
270 INTEL_VGA_DEVICE(0x162D, info) /* Workstation */ 305 INTEL_VGA_DEVICE(0x162D, info) /* Workstation */
271 306
307#define INTEL_BDW_ULT_RSVD_IDS(info) \
308 INTEL_VGA_DEVICE(0x1636, info), /* ULT */ \
309 INTEL_VGA_DEVICE(0x163B, info) /* Iris */
310
311#define INTEL_BDW_ULX_RSVD_IDS(info) \
312 INTEL_VGA_DEVICE(0x163E, info) /* ULX */
313
272#define INTEL_BDW_RSVD_IDS(info) \ 314#define INTEL_BDW_RSVD_IDS(info) \
315 INTEL_BDW_ULT_RSVD_IDS(info), \
316 INTEL_BDW_ULX_RSVD_IDS(info), \
273 INTEL_VGA_DEVICE(0x1632, info), /* ULT */ \ 317 INTEL_VGA_DEVICE(0x1632, info), /* ULT */ \
274 INTEL_VGA_DEVICE(0x1636, info), /* ULT */ \
275 INTEL_VGA_DEVICE(0x163B, info), /* Iris */ \
276 INTEL_VGA_DEVICE(0x163E, info), /* ULX */ \
277 INTEL_VGA_DEVICE(0x163A, info), /* Server */ \ 318 INTEL_VGA_DEVICE(0x163A, info), /* Server */ \
278 INTEL_VGA_DEVICE(0x163D, info) /* Workstation */ 319 INTEL_VGA_DEVICE(0x163D, info) /* Workstation */
279 320
@@ -289,25 +330,40 @@
289 INTEL_VGA_DEVICE(0x22b2, info), \ 330 INTEL_VGA_DEVICE(0x22b2, info), \
290 INTEL_VGA_DEVICE(0x22b3, info) 331 INTEL_VGA_DEVICE(0x22b3, info)
291 332
333#define INTEL_SKL_ULT_GT1_IDS(info) \
334 INTEL_VGA_DEVICE(0x1906, info) /* ULT GT1 */
335
336#define INTEL_SKL_ULX_GT1_IDS(info) \
337 INTEL_VGA_DEVICE(0x190E, info) /* ULX GT1 */
338
292#define INTEL_SKL_GT1_IDS(info) \ 339#define INTEL_SKL_GT1_IDS(info) \
293 INTEL_VGA_DEVICE(0x1906, info), /* ULT GT1 */ \ 340 INTEL_SKL_ULT_GT1_IDS(info), \
294 INTEL_VGA_DEVICE(0x190E, info), /* ULX GT1 */ \ 341 INTEL_SKL_ULX_GT1_IDS(info), \
295 INTEL_VGA_DEVICE(0x1902, info), /* DT GT1 */ \ 342 INTEL_VGA_DEVICE(0x1902, info), /* DT GT1 */ \
296 INTEL_VGA_DEVICE(0x190B, info), /* Halo GT1 */ \ 343 INTEL_VGA_DEVICE(0x190B, info), /* Halo GT1 */ \
297 INTEL_VGA_DEVICE(0x190A, info) /* SRV GT1 */ 344 INTEL_VGA_DEVICE(0x190A, info) /* SRV GT1 */
298 345
299#define INTEL_SKL_GT2_IDS(info) \ 346#define INTEL_SKL_ULT_GT2_IDS(info) \
300 INTEL_VGA_DEVICE(0x1916, info), /* ULT GT2 */ \ 347 INTEL_VGA_DEVICE(0x1916, info), /* ULT GT2 */ \
301 INTEL_VGA_DEVICE(0x1921, info), /* ULT GT2F */ \ 348 INTEL_VGA_DEVICE(0x1921, info) /* ULT GT2F */
302 INTEL_VGA_DEVICE(0x191E, info), /* ULX GT2 */ \ 349
350#define INTEL_SKL_ULX_GT2_IDS(info) \
351 INTEL_VGA_DEVICE(0x191E, info) /* ULX GT2 */
352
353#define INTEL_SKL_GT2_IDS(info) \
354 INTEL_SKL_ULT_GT2_IDS(info), \
355 INTEL_SKL_ULX_GT2_IDS(info), \
303 INTEL_VGA_DEVICE(0x1912, info), /* DT GT2 */ \ 356 INTEL_VGA_DEVICE(0x1912, info), /* DT GT2 */ \
304 INTEL_VGA_DEVICE(0x191B, info), /* Halo GT2 */ \ 357 INTEL_VGA_DEVICE(0x191B, info), /* Halo GT2 */ \
305 INTEL_VGA_DEVICE(0x191A, info), /* SRV GT2 */ \ 358 INTEL_VGA_DEVICE(0x191A, info), /* SRV GT2 */ \
306 INTEL_VGA_DEVICE(0x191D, info) /* WKS GT2 */ 359 INTEL_VGA_DEVICE(0x191D, info) /* WKS GT2 */
307 360
361#define INTEL_SKL_ULT_GT3_IDS(info) \
362 INTEL_VGA_DEVICE(0x1926, info) /* ULT GT3 */
363
308#define INTEL_SKL_GT3_IDS(info) \ 364#define INTEL_SKL_GT3_IDS(info) \
365 INTEL_SKL_ULT_GT3_IDS(info), \
309 INTEL_VGA_DEVICE(0x1923, info), /* ULT GT3 */ \ 366 INTEL_VGA_DEVICE(0x1923, info), /* ULT GT3 */ \
310 INTEL_VGA_DEVICE(0x1926, info), /* ULT GT3 */ \
311 INTEL_VGA_DEVICE(0x1927, info), /* ULT GT3 */ \ 367 INTEL_VGA_DEVICE(0x1927, info), /* ULT GT3 */ \
312 INTEL_VGA_DEVICE(0x192B, info), /* Halo GT3 */ \ 368 INTEL_VGA_DEVICE(0x192B, info), /* Halo GT3 */ \
313 INTEL_VGA_DEVICE(0x192D, info) /* SRV GT3 */ 369 INTEL_VGA_DEVICE(0x192D, info) /* SRV GT3 */
@@ -336,29 +392,44 @@
336 INTEL_VGA_DEVICE(0x3184, info), \ 392 INTEL_VGA_DEVICE(0x3184, info), \
337 INTEL_VGA_DEVICE(0x3185, info) 393 INTEL_VGA_DEVICE(0x3185, info)
338 394
339#define INTEL_KBL_GT1_IDS(info) \ 395#define INTEL_KBL_ULT_GT1_IDS(info) \
340 INTEL_VGA_DEVICE(0x5913, info), /* ULT GT1.5 */ \
341 INTEL_VGA_DEVICE(0x5915, info), /* ULX GT1.5 */ \
342 INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \ 396 INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \
397 INTEL_VGA_DEVICE(0x5913, info) /* ULT GT1.5 */
398
399#define INTEL_KBL_ULX_GT1_IDS(info) \
343 INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \ 400 INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \
401 INTEL_VGA_DEVICE(0x5915, info) /* ULX GT1.5 */
402
403#define INTEL_KBL_GT1_IDS(info) \
404 INTEL_KBL_ULT_GT1_IDS(info), \
405 INTEL_KBL_ULX_GT1_IDS(info), \
344 INTEL_VGA_DEVICE(0x5902, info), /* DT GT1 */ \ 406 INTEL_VGA_DEVICE(0x5902, info), /* DT GT1 */ \
345 INTEL_VGA_DEVICE(0x5908, info), /* Halo GT1 */ \ 407 INTEL_VGA_DEVICE(0x5908, info), /* Halo GT1 */ \
346 INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \ 408 INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \
347 INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */ 409 INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */
348 410
349#define INTEL_KBL_GT2_IDS(info) \ 411#define INTEL_KBL_ULT_GT2_IDS(info) \
350 INTEL_VGA_DEVICE(0x5916, info), /* ULT GT2 */ \ 412 INTEL_VGA_DEVICE(0x5916, info), /* ULT GT2 */ \
413 INTEL_VGA_DEVICE(0x5921, info) /* ULT GT2F */
414
415#define INTEL_KBL_ULX_GT2_IDS(info) \
416 INTEL_VGA_DEVICE(0x591E, info) /* ULX GT2 */
417
418#define INTEL_KBL_GT2_IDS(info) \
419 INTEL_KBL_ULT_GT2_IDS(info), \
420 INTEL_KBL_ULX_GT2_IDS(info), \
351 INTEL_VGA_DEVICE(0x5917, info), /* Mobile GT2 */ \ 421 INTEL_VGA_DEVICE(0x5917, info), /* Mobile GT2 */ \
352 INTEL_VGA_DEVICE(0x5921, info), /* ULT GT2F */ \
353 INTEL_VGA_DEVICE(0x591E, info), /* ULX GT2 */ \
354 INTEL_VGA_DEVICE(0x5912, info), /* DT GT2 */ \ 422 INTEL_VGA_DEVICE(0x5912, info), /* DT GT2 */ \
355 INTEL_VGA_DEVICE(0x591B, info), /* Halo GT2 */ \ 423 INTEL_VGA_DEVICE(0x591B, info), /* Halo GT2 */ \
356 INTEL_VGA_DEVICE(0x591A, info), /* SRV GT2 */ \ 424 INTEL_VGA_DEVICE(0x591A, info), /* SRV GT2 */ \
357 INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */ 425 INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */
358 426
427#define INTEL_KBL_ULT_GT3_IDS(info) \
428 INTEL_VGA_DEVICE(0x5926, info) /* ULT GT3 */
429
359#define INTEL_KBL_GT3_IDS(info) \ 430#define INTEL_KBL_GT3_IDS(info) \
431 INTEL_KBL_ULT_GT3_IDS(info), \
360 INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \ 432 INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \
361 INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \
362 INTEL_VGA_DEVICE(0x5927, info) /* ULT GT3 */ 433 INTEL_VGA_DEVICE(0x5927, info) /* ULT GT3 */
363 434
364#define INTEL_KBL_GT4_IDS(info) \ 435#define INTEL_KBL_GT4_IDS(info) \
@@ -465,7 +536,14 @@
465 INTEL_CML_GT2_IDS(info) 536 INTEL_CML_GT2_IDS(info)
466 537
467/* CNL */ 538/* CNL */
539#define INTEL_CNL_PORT_F_IDS(info) \
540 INTEL_VGA_DEVICE(0x5A54, info), \
541 INTEL_VGA_DEVICE(0x5A5C, info), \
542 INTEL_VGA_DEVICE(0x5A44, info), \
543 INTEL_VGA_DEVICE(0x5A4C, info)
544
468#define INTEL_CNL_IDS(info) \ 545#define INTEL_CNL_IDS(info) \
546 INTEL_CNL_PORT_F_IDS(info), \
469 INTEL_VGA_DEVICE(0x5A51, info), \ 547 INTEL_VGA_DEVICE(0x5A51, info), \
470 INTEL_VGA_DEVICE(0x5A59, info), \ 548 INTEL_VGA_DEVICE(0x5A59, info), \
471 INTEL_VGA_DEVICE(0x5A41, info), \ 549 INTEL_VGA_DEVICE(0x5A41, info), \
@@ -475,16 +553,11 @@
475 INTEL_VGA_DEVICE(0x5A42, info), \ 553 INTEL_VGA_DEVICE(0x5A42, info), \
476 INTEL_VGA_DEVICE(0x5A4A, info), \ 554 INTEL_VGA_DEVICE(0x5A4A, info), \
477 INTEL_VGA_DEVICE(0x5A50, info), \ 555 INTEL_VGA_DEVICE(0x5A50, info), \
478 INTEL_VGA_DEVICE(0x5A40, info), \ 556 INTEL_VGA_DEVICE(0x5A40, info)
479 INTEL_VGA_DEVICE(0x5A54, info), \
480 INTEL_VGA_DEVICE(0x5A5C, info), \
481 INTEL_VGA_DEVICE(0x5A44, info), \
482 INTEL_VGA_DEVICE(0x5A4C, info)
483 557
484/* ICL */ 558/* ICL */
485#define INTEL_ICL_11_IDS(info) \ 559#define INTEL_ICL_PORT_F_IDS(info) \
486 INTEL_VGA_DEVICE(0x8A50, info), \ 560 INTEL_VGA_DEVICE(0x8A50, info), \
487 INTEL_VGA_DEVICE(0x8A51, info), \
488 INTEL_VGA_DEVICE(0x8A5C, info), \ 561 INTEL_VGA_DEVICE(0x8A5C, info), \
489 INTEL_VGA_DEVICE(0x8A5D, info), \ 562 INTEL_VGA_DEVICE(0x8A5D, info), \
490 INTEL_VGA_DEVICE(0x8A59, info), \ 563 INTEL_VGA_DEVICE(0x8A59, info), \
@@ -498,6 +571,10 @@
498 INTEL_VGA_DEVICE(0x8A70, info), \ 571 INTEL_VGA_DEVICE(0x8A70, info), \
499 INTEL_VGA_DEVICE(0x8A53, info) 572 INTEL_VGA_DEVICE(0x8A53, info)
500 573
574#define INTEL_ICL_11_IDS(info) \
575 INTEL_ICL_PORT_F_IDS(info), \
576 INTEL_VGA_DEVICE(0x8A51, info)
577
501/* EHL */ 578/* EHL */
502#define INTEL_EHL_IDS(info) \ 579#define INTEL_EHL_IDS(info) \
503 INTEL_VGA_DEVICE(0x4500, info), \ 580 INTEL_VGA_DEVICE(0x4500, info), \
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index 52051d24d89d..3a73f5316766 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -126,6 +126,18 @@ enum drm_i915_gem_engine_class {
126 I915_ENGINE_CLASS_INVALID = -1 126 I915_ENGINE_CLASS_INVALID = -1
127}; 127};
128 128
129/*
130 * There may be more than one engine fulfilling any role within the system.
131 * Each engine of a class is given a unique instance number and therefore
132 * any engine can be specified by its class:instance tuplet. APIs that allow
133 * access to any engine in the system will use struct i915_engine_class_instance
134 * for this identification.
135 */
136struct i915_engine_class_instance {
137 __u16 engine_class; /* see enum drm_i915_gem_engine_class */
138 __u16 engine_instance;
139};
140
129/** 141/**
130 * DOC: perf_events exposed by i915 through /sys/bus/event_sources/drivers/i915 142 * DOC: perf_events exposed by i915 through /sys/bus/event_sources/drivers/i915
131 * 143 *
@@ -1525,8 +1537,7 @@ struct drm_i915_gem_context_param_sseu {
1525 /* 1537 /*
1526 * Engine class & instance to be configured or queried. 1538 * Engine class & instance to be configured or queried.
1527 */ 1539 */
1528 __u16 engine_class; 1540 struct i915_engine_class_instance engine;
1529 __u16 engine_instance;
1530 1541
1531 /* 1542 /*
1532 * Unused for now. Must be cleared to zero. 1543 * Unused for now. Must be cleared to zero.