drm/xe/vf: Don't check if LMEM is initialized if VF
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Tue, 13 Feb 2024 15:43:52 +0000 (16:43 +0100)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Tue, 13 Feb 2024 17:59:51 +0000 (18:59 +0100)
It is PF driver responsibility to verify that LMEM was correctly
initialized, also VF drivers don't have access to GU_CNTL register.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240213154355.1221-6-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_mmio.c

index 5f6b53ea5528b2c904ce0c4ee30e39c4a16139b7..e3db3a178760991dc77ed4a211204deaf2acad68 100644 (file)
@@ -20,6 +20,7 @@
 #include "xe_gt_mcr.h"
 #include "xe_macros.h"
 #include "xe_module.h"
+#include "xe_sriov.h"
 #include "xe_tile.h"
 
 #define XEHP_MTCFG_ADDR                XE_REG(0x101800)
@@ -363,13 +364,19 @@ static int xe_verify_lmem_ready(struct xe_device *xe)
 {
        struct xe_gt *gt = xe_root_mmio_gt(xe);
 
+       if (!IS_DGFX(xe))
+               return 0;
+
+       if (IS_SRIOV_VF(xe))
+               return 0;
+
        /*
         * The boot firmware initializes local memory and assesses its health.
         * If memory training fails, the punit will have been instructed to
         * keep the GT powered down; we won't be able to communicate with it
         * and we should not continue with driver initialization.
         */
-       if (IS_DGFX(xe) && !(xe_mmio_read32(gt, GU_CNTL) & LMEM_INIT)) {
+       if (!(xe_mmio_read32(gt, GU_CNTL) & LMEM_INIT)) {
                drm_err(&xe->drm, "VRAM not initialized by firmware\n");
                return -ENODEV;
        }