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 <michal.wajdeczko@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Link: https://patch.msgid.link/20260207214428.5205-1-michal.wajdeczko@intel.com
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
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);
*/
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;