Skip to content

Commit eea97e4

Browse files
tursulinmattrope
authored andcommitted
drm/i915/xehp: VDBOX/VEBOX fusing registers are enable-based
On Xe_HP the fusing register is renamed and changed to have the "enable" semantics, but otherwise remains compatible (mmio address, bitmask ranges) with older platforms. To simplify things we do not add a new register definition but just stop inverting the fusing masks before processing them. Bspec: 52615 Cc: Daniele Ceraolo Spurio <[email protected]> Signed-off-by: Tvrtko Ursulin <[email protected]> Signed-off-by: Matt Roper <[email protected]> Reviewed-by: Lucas De Marchi <[email protected]> Reviewed-by: Matt Atwood <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 265b5ee commit eea97e4

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

drivers/gpu/drm/i915/gt/intel_engine_cs.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,14 @@ static intel_engine_mask_t init_engine_mask(struct intel_gt *gt)
486486
if (GRAPHICS_VER(i915) < 11)
487487
return info->engine_mask;
488488

489-
media_fuse = ~intel_uncore_read(uncore, GEN11_GT_VEBOX_VDBOX_DISABLE);
489+
/*
490+
* On newer platforms the fusing register is called 'enable' and has
491+
* enable semantics, while on older platforms it is called 'disable'
492+
* and bits have disable semantices.
493+
*/
494+
media_fuse = intel_uncore_read(uncore, GEN11_GT_VEBOX_VDBOX_DISABLE);
495+
if (GRAPHICS_VER_FULL(i915) < IP_VER(12, 50))
496+
media_fuse = ~media_fuse;
490497

491498
vdbox_mask = media_fuse & GEN11_GT_VDBOX_DISABLE_MASK;
492499
vebox_mask = (media_fuse & GEN11_GT_VEBOX_DISABLE_MASK) >>

0 commit comments

Comments
 (0)