]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/vf: Don't try Driver-FLR if VF
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Tue, 11 Mar 2025 13:57:25 +0000 (14:57 +0100)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Wed, 12 Mar 2025 11:02:55 +0000 (12:02 +0100)
Driver-FLR can't be triggered from the VF driver, so treat it
as disabled if VF. While around, fix also the message, as it
shouldn't be printed just 'once' as we may have many devices.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250311135726.1998-2-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_device.c

index 35eb001c6c1ab93dba4f13c22b13382228f5f55d..2f7d727c93924c9ed179b32341fd6e4a1f38e2c3 100644 (file)
@@ -496,7 +496,15 @@ ALLOW_ERROR_INJECTION(xe_device_create, ERRNO); /* See xe_pci_probe() */
 
 static bool xe_driver_flr_disabled(struct xe_device *xe)
 {
-       return xe_mmio_read32(xe_root_tile_mmio(xe), GU_CNTL_PROTECTED) & DRIVERINT_FLR_DIS;
+       if (IS_SRIOV_VF(xe))
+               return true;
+
+       if (xe_mmio_read32(xe_root_tile_mmio(xe), GU_CNTL_PROTECTED) & DRIVERINT_FLR_DIS) {
+               drm_info(&xe->drm, "Driver-FLR disabled by BIOS\n");
+               return true;
+       }
+
+       return false;
 }
 
 /*
@@ -560,10 +568,8 @@ static void __xe_driver_flr(struct xe_device *xe)
 
 static void xe_driver_flr(struct xe_device *xe)
 {
-       if (xe_driver_flr_disabled(xe)) {
-               drm_info_once(&xe->drm, "BIOS Disabled Driver-FLR\n");
+       if (xe_driver_flr_disabled(xe))
                return;
-       }
 
        __xe_driver_flr(xe);
 }