@@ -55,6 +55,8 @@ struct xe_device_desc {
55
55
56
56
enum xe_platform platform ;
57
57
58
+ u8 dma_mask_size ;
59
+
58
60
u8 require_force_probe :1 ;
59
61
u8 is_dgfx :1 ;
60
62
@@ -85,7 +87,6 @@ static const struct xe_graphics_desc graphics_xelp = {
85
87
86
88
.hw_engine_mask = BIT (XE_HW_ENGINE_RCS0 ) | BIT (XE_HW_ENGINE_BCS0 ),
87
89
88
- .dma_mask_size = 39 ,
89
90
.va_bits = 48 ,
90
91
.vm_max_level = 3 ,
91
92
};
@@ -97,14 +98,12 @@ static const struct xe_graphics_desc graphics_xelpp = {
97
98
98
99
.hw_engine_mask = BIT (XE_HW_ENGINE_RCS0 ) | BIT (XE_HW_ENGINE_BCS0 ),
99
100
100
- .dma_mask_size = 39 ,
101
101
.va_bits = 48 ,
102
102
.vm_max_level = 3 ,
103
103
};
104
104
105
105
#define XE_HP_FEATURES \
106
106
.has_range_tlb_invalidation = true, \
107
- .dma_mask_size = 46, \
108
107
.va_bits = 48, \
109
108
.vm_max_level = 3
110
109
@@ -139,7 +138,6 @@ static const struct xe_graphics_desc graphics_xehpc = {
139
138
BIT (XE_HW_ENGINE_CCS2 ) | BIT (XE_HW_ENGINE_CCS3 ),
140
139
141
140
XE_HP_FEATURES ,
142
- .dma_mask_size = 52 ,
143
141
.max_remote_tiles = 1 ,
144
142
.va_bits = 57 ,
145
143
.vm_max_level = 4 ,
@@ -160,7 +158,6 @@ static const struct xe_graphics_desc graphics_xelpg = {
160
158
};
161
159
162
160
#define XE2_GFX_FEATURES \
163
- .dma_mask_size = 46, \
164
161
.has_asid = 1, \
165
162
.has_atomic_enable_pte_bit = 1, \
166
163
.has_flat_ccs = 1, \
@@ -220,6 +217,7 @@ static const struct xe_device_desc tgl_desc = {
220
217
.graphics = & graphics_xelp ,
221
218
.media = & media_xem ,
222
219
PLATFORM (TIGERLAKE ),
220
+ .dma_mask_size = 39 ,
223
221
.has_display = true,
224
222
.has_llc = true,
225
223
.require_force_probe = true,
@@ -229,6 +227,7 @@ static const struct xe_device_desc rkl_desc = {
229
227
.graphics = & graphics_xelp ,
230
228
.media = & media_xem ,
231
229
PLATFORM (ROCKETLAKE ),
230
+ .dma_mask_size = 39 ,
232
231
.has_display = true,
233
232
.has_llc = true,
234
233
.require_force_probe = true,
@@ -240,6 +239,7 @@ static const struct xe_device_desc adl_s_desc = {
240
239
.graphics = & graphics_xelp ,
241
240
.media = & media_xem ,
242
241
PLATFORM (ALDERLAKE_S ),
242
+ .dma_mask_size = 39 ,
243
243
.has_display = true,
244
244
.has_llc = true,
245
245
.require_force_probe = true,
@@ -255,6 +255,7 @@ static const struct xe_device_desc adl_p_desc = {
255
255
.graphics = & graphics_xelp ,
256
256
.media = & media_xem ,
257
257
PLATFORM (ALDERLAKE_P ),
258
+ .dma_mask_size = 39 ,
258
259
.has_display = true,
259
260
.has_llc = true,
260
261
.require_force_probe = true,
@@ -268,6 +269,7 @@ static const struct xe_device_desc adl_n_desc = {
268
269
.graphics = & graphics_xelp ,
269
270
.media = & media_xem ,
270
271
PLATFORM (ALDERLAKE_N ),
272
+ .dma_mask_size = 39 ,
271
273
.has_display = true,
272
274
.has_llc = true,
273
275
.require_force_probe = true,
@@ -281,6 +283,7 @@ static const struct xe_device_desc dg1_desc = {
281
283
.media = & media_xem ,
282
284
DGFX_FEATURES ,
283
285
PLATFORM (DG1 ),
286
+ .dma_mask_size = 39 ,
284
287
.has_display = true,
285
288
.has_heci_gscfi = 1 ,
286
289
.require_force_probe = true,
@@ -304,6 +307,7 @@ static const u16 dg2_g12_ids[] = { INTEL_DG2_G12_IDS(NOP), 0 };
304
307
static const struct xe_device_desc ats_m_desc = {
305
308
.graphics = & graphics_xehpg ,
306
309
.media = & media_xehpm ,
310
+ .dma_mask_size = 46 ,
307
311
.require_force_probe = true,
308
312
309
313
DG2_FEATURES ,
@@ -313,6 +317,7 @@ static const struct xe_device_desc ats_m_desc = {
313
317
static const struct xe_device_desc dg2_desc = {
314
318
.graphics = & graphics_xehpg ,
315
319
.media = & media_xehpm ,
320
+ .dma_mask_size = 46 ,
316
321
.require_force_probe = true,
317
322
318
323
DG2_FEATURES ,
@@ -323,6 +328,7 @@ static const __maybe_unused struct xe_device_desc pvc_desc = {
323
328
.graphics = & graphics_xehpc ,
324
329
DGFX_FEATURES ,
325
330
PLATFORM (PVC ),
331
+ .dma_mask_size = 52 ,
326
332
.has_display = false,
327
333
.has_heci_gscfi = 1 ,
328
334
.require_force_probe = true,
@@ -332,25 +338,29 @@ static const struct xe_device_desc mtl_desc = {
332
338
/* .graphics and .media determined via GMD_ID */
333
339
.require_force_probe = true,
334
340
PLATFORM (METEORLAKE ),
341
+ .dma_mask_size = 46 ,
335
342
.has_display = true,
336
343
.has_pxp = true,
337
344
};
338
345
339
346
static const struct xe_device_desc lnl_desc = {
340
347
PLATFORM (LUNARLAKE ),
348
+ .dma_mask_size = 46 ,
341
349
.has_display = true,
342
350
.has_pxp = true,
343
351
};
344
352
345
353
static const struct xe_device_desc bmg_desc = {
346
354
DGFX_FEATURES ,
347
355
PLATFORM (BATTLEMAGE ),
356
+ .dma_mask_size = 46 ,
348
357
.has_display = true,
349
358
.has_heci_cscfi = 1 ,
350
359
};
351
360
352
361
static const struct xe_device_desc ptl_desc = {
353
362
PLATFORM (PANTHERLAKE ),
363
+ .dma_mask_size = 46 ,
354
364
.has_display = true,
355
365
.require_force_probe = true,
356
366
};
@@ -617,6 +627,7 @@ static int xe_info_init_early(struct xe_device *xe,
617
627
xe -> info .subplatform = subplatform_desc ?
618
628
subplatform_desc -> subplatform : XE_SUBPLATFORM_NONE ;
619
629
630
+ xe -> info .dma_mask_size = desc -> dma_mask_size ;
620
631
xe -> info .is_dgfx = desc -> is_dgfx ;
621
632
xe -> info .has_heci_gscfi = desc -> has_heci_gscfi ;
622
633
xe -> info .has_heci_cscfi = desc -> has_heci_cscfi ;
@@ -682,7 +693,6 @@ static int xe_info_init(struct xe_device *xe,
682
693
xe -> info .graphics_name = graphics_desc -> name ;
683
694
xe -> info .media_name = media_desc ? media_desc -> name : "none" ;
684
695
685
- xe -> info .dma_mask_size = graphics_desc -> dma_mask_size ;
686
696
xe -> info .vram_flags = graphics_desc -> vram_flags ;
687
697
xe -> info .va_bits = graphics_desc -> va_bits ;
688
698
xe -> info .vm_max_level = graphics_desc -> vm_max_level ;
0 commit comments