From: Michal Wajdeczko Date: Sat, 7 Feb 2026 21:44:28 +0000 (+0100) Subject: drm/xe/vf: Allow VF to initialize MCR tables X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e2796c8280ad21f1a252c05204845261d988e2f;p=thirdparty%2Fkernel%2Flinux.git 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 --- diff --git a/drivers/gpu/drm/xe/xe_gt_mcr.c b/drivers/gpu/drm/xe/xe_gt_mcr.c index 7c1fe9ac120d7..66c4efca80fe0 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;