From: Michal Wajdeczko Date: Tue, 4 Jun 2024 21:22:30 +0000 (+0200) Subject: drm/xe/vf: Custom GuC reset X-Git-Tag: v6.11-rc1~141^2~26^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5bfae679d39966fb12c8e390a80e7ecf05693dfe;p=thirdparty%2Fkernel%2Flinux.git drm/xe/vf: Custom GuC reset The VF drivers can't trigger real GuC firmware reset using GDRST register, but for the VF drivers it is sufficient to send VF_RESET message to reset any VF specific state maintained by the GuC. Use our existing VF bootstrap function as VF_RESET is part of it. Signed-off-by: Michal Wajdeczko Reviewed-by: Piotr Piórkowski Link: https://patchwork.freedesktop.org/patch/msgid/20240604212231.1416-4-michal.wajdeczko@intel.com --- diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c index 086a048876baa..0bf6e01b89100 100644 --- a/drivers/gpu/drm/xe/xe_guc.c +++ b/drivers/gpu/drm/xe/xe_guc.c @@ -430,6 +430,9 @@ int xe_guc_reset(struct xe_guc *guc) xe_force_wake_assert_held(gt_to_fw(gt), XE_FW_GT); + if (IS_SRIOV_VF(gt_to_xe(gt))) + return xe_gt_sriov_vf_bootstrap(gt); + xe_mmio_write32(gt, GDRST, GRDOM_GUC); ret = xe_mmio_wait32(gt, GDRST, GRDOM_GUC, 0, 5000, &gdrst, false);