From: Michal Wajdeczko Date: Thu, 23 May 2024 19:22:40 +0000 (+0200) Subject: drm/xe/vf: Treat GMDID as another runtime register X-Git-Tag: v6.11-rc1~141^2~26^2~52 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5cef84939723f96352d7087b0ea596a65fb972c6;p=thirdparty%2Fkernel%2Flinux.git drm/xe/vf: Treat GMDID as another runtime register While the GMDID registers are not part of the runtime register list shared by the PF driver, we may still return cached values from our VF specific read32() helper function. Signed-off-by: Michal Wajdeczko Reviewed-by: Matt Roper Link: https://patchwork.freedesktop.org/patch/msgid/20240523192240.844-7-michal.wajdeczko@intel.com --- diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c index 347ab7060588d..66069eb8c5be5 100644 --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c @@ -13,6 +13,7 @@ #include "abi/guc_communication_mmio_abi.h" #include "abi/guc_klvs_abi.h" #include "abi/guc_relay_actions_abi.h" +#include "regs/xe_gt_regs.h" #include "xe_assert.h" #include "xe_device.h" @@ -764,6 +765,12 @@ u32 xe_gt_sriov_vf_read32(struct xe_gt *gt, struct xe_reg reg) xe_gt_assert(gt, gt->sriov.vf.pf_version.major); xe_gt_assert(gt, !reg.vf); + if (reg.addr == GMD_ID.addr) { + xe_gt_sriov_dbg_verbose(gt, "gmdid(%#x) = %#x\n", + addr, gt->sriov.vf.runtime.gmdid); + return gt->sriov.vf.runtime.gmdid; + } + rr = vf_lookup_reg(gt, addr); if (!rr) { xe_gt_WARN(gt, IS_ENABLED(CONFIG_DRM_XE_DEBUG),