Unverified Commit 5e905ec6 authored by Piotr Piórkowski's avatar Piotr Piórkowski Committed by Rodrigo Vivi
Browse files

drm/xe/vf: Avoid reading media version when media GT is disabled



When the media GT is not allowed, a VF must not attempt to read
the media version from the GuC. The GuC may not be loaded, and
any attempt to communicate with it would result in a timeout
and a VF probe failure:

(...)
[ 1912.406046] xe 0000:01:00.1: [drm] *ERROR* Tile0: GT1: GuC mmio request 0x5507: no reply 0x5507
[ 1912.407277] xe 0000:01:00.1: [drm] *ERROR* Tile0: GT1: [GUC COMMUNICATION] MMIO send failed (-ETIMEDOUT)
[ 1912.408689] xe 0000:01:00.1: [drm] *ERROR* VF: Tile0: GT1: Failed to reset GuC state (-ETIMEDOUT)
[ 1912.413986] xe 0000:01:00.1: probe with driver xe failed with error -110

Let's skip reading the media version for VFs when the media GT is not
allowed.

v2: move the condition directly to the VF path

Fixes: 7abd6927 ("drm/xe/configfs: Add attribute to disable GT types")
Signed-off-by: default avatarPiotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: default avatarShuicheng Lin <shuicheng.lin@intel.com>
Link: https://patch.msgid.link/20260202115041.2863357-1-piotr.piorkowski@intel.com


Signed-off-by: default avatarMichał Winiarski <michal.winiarski@intel.com>
(cherry picked from commit 0bcacf56)
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent bc6387a2
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -557,6 +557,12 @@ static int read_gmdid(struct xe_device *xe, enum xe_gmdid_type type, u32 *ver, u
		struct xe_gt *gt __free(kfree) = NULL;
		int err;

		/* Don't try to read media ver if media GT is not allowed */
		if (type == GMDID_MEDIA && !xe_configfs_media_gt_allowed(to_pci_dev(xe->drm.dev))) {
			*ver = *revid = 0;
			return 0;
		}

		gt = kzalloc(sizeof(*gt), GFP_KERNEL);
		if (!gt)
			return -ENOMEM;