]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/xe/vf: Treat GMDID as another runtime register
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 23 May 2024 19:22:40 +0000 (21:22 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 24 May 2024 08:08:41 +0000 (10:08 +0200)
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 <michal.wajdeczko@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240523192240.844-7-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_gt_sriov_vf.c

index 347ab7060588d712476168961b60f4d0934574ed..66069eb8c5be5be0f182982dcfb0f1a87effaee8 100644 (file)
@@ -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),