summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_uc.c
diff options
context:
space:
mode:
authorMatthew Brost <matthew.brost@intel.com>2023-01-30 21:55:35 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-20 02:27:47 +0300
commitda3799c975726572066f1c6bc6a6f65cb1f01c84 (patch)
treeb8f629bd61cfaa8cf0fa04db1d1b9bcc25c3c0a2 /drivers/gpu/drm/xe/xe_uc.c
parent74a8b2c6e2d6f17fcd9977de298eff20a46b0af7 (diff)
downloadlinux-da3799c975726572066f1c6bc6a6f65cb1f01c84.tar.xz
drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
Only the GuC should be issuing TLB invalidations if it is enabled. Part of this patch is sanitize the device on driver unload to ensure we do not send GuC based TLB invalidations during driver unload. Signed-off-by: Matthew Brost <matthew.brost@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_uc.c')
-rw-r--r--drivers/gpu/drm/xe/xe_uc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c
index 938d14698003..7886c8b85397 100644
--- a/drivers/gpu/drm/xe/xe_uc.c
+++ b/drivers/gpu/drm/xe/xe_uc.c
@@ -88,10 +88,15 @@ static int uc_reset(struct xe_uc *uc)
return 0;
}
-static int uc_sanitize(struct xe_uc *uc)
+void xe_uc_sanitize(struct xe_uc *uc)
{
xe_huc_sanitize(&uc->huc);
xe_guc_sanitize(&uc->guc);
+}
+
+static int xe_uc_sanitize_reset(struct xe_uc *uc)
+{
+ xe_uc_sanitize(uc);
return uc_reset(uc);
}
@@ -129,7 +134,7 @@ int xe_uc_init_hw(struct xe_uc *uc)
if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
return 0;
- ret = uc_sanitize(uc);
+ ret = xe_uc_sanitize_reset(uc);
if (ret)
return ret;