]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/vf: Disable features that do not apply to VFs
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 20 Jun 2024 10:01:47 +0000 (12:01 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 20 Jun 2024 17:49:34 +0000 (19:49 +0200)
We already maintain several flags that control the availability
of features on a given device. Disable features, like PCODE or
GuC PC or GSC, that do not apply to a VF device.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240620100147.949-1-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_device.c

index 31b549f5f03abe155786492c3bbd553aeb83b196..e25c37ac7d1468688b90c1a752a354f5ef607668 100644 (file)
@@ -486,6 +486,17 @@ static int wait_for_lmem_ready(struct xe_device *xe)
        return 0;
 }
 
+static void update_device_info(struct xe_device *xe)
+{
+       /* disable features that are not available/applicable to VFs */
+       if (IS_SRIOV_VF(xe)) {
+               xe->info.enable_display = 0;
+               xe->info.has_heci_gscfi = 0;
+               xe->info.skip_guc_pc = 1;
+               xe->info.skip_pcode = 1;
+       }
+}
+
 /**
  * xe_device_probe_early: Device early probe
  * @xe: xe device instance
@@ -506,6 +517,8 @@ int xe_device_probe_early(struct xe_device *xe)
 
        xe_sriov_probe_early(xe);
 
+       update_device_info(xe);
+
        err = xe_pcode_probe_early(xe);
        if (err)
                return err;