From 4e2796c8280ad21f1a252c05204845261d988e2f Mon Sep 17 00:00:00 2001 From: Michal Wajdeczko Date: Sat, 7 Feb 2026 22:44:28 +0100 Subject: [PATCH] drm/xe/vf: Allow VF to initialize MCR tables While VFs can't access MCR registers, it's still safe to initialize our per-platform MCR tables, as we might need them later in the LRC programming, as engines itself may access MCR steer registers and thanks to all our past fixes to the VF probe initialization order, VFs are able to use values of the fuse registers needed here. Signed-off-by: Michal Wajdeczko Cc: Matt Roper Link: https://patch.msgid.link/20260207214428.5205-1-michal.wajdeczko@intel.com Reviewed-by: Matt Roper Signed-off-by: Matt Roper --- drivers/gpu/drm/xe/xe_gt_mcr.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_gt_mcr.c b/drivers/gpu/drm/xe/xe_gt_mcr.c index 7c1fe9ac120d..66c4efca80fe 100644 --- a/drivers/gpu/drm/xe/xe_gt_mcr.c +++ b/drivers/gpu/drm/xe/xe_gt_mcr.c @@ -505,9 +505,6 @@ void xe_gt_mcr_init_early(struct xe_gt *gt) spin_lock_init(>->mcr_lock); - if (IS_SRIOV_VF(xe)) - return; - if (gt->info.type == XE_GT_TYPE_MEDIA) { drm_WARN_ON(&xe->drm, MEDIA_VER(xe) < 13); @@ -568,9 +565,6 @@ void xe_gt_mcr_init_early(struct xe_gt *gt) */ void xe_gt_mcr_init(struct xe_gt *gt) { - if (IS_SRIOV_VF(gt_to_xe(gt))) - return; - /* Select non-terminated steering target for each type */ for (int i = 0; i < NUM_STEERING_TYPES; i++) { gt->steering[i].initialized = true;