3da8ec8523
Ubuntu's latest tag updated from v5.15.60 to v5.15.64 and one advantage of them trailing upstream stable 5.15.y is that we can backport fixes of fixes that got in with that commit range. Found with the report of: git log --decorate v5.15..v5.15.73 | \ ~/gitdm/stablefixes --fixed-after v5.15.64 --regressed-before v5.15.64 Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
52 lines
2.1 KiB
Diff
52 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Chris Wilson <chris.p.wilson@intel.com>
|
|
Date: Wed, 27 Jul 2022 14:29:54 +0200
|
|
Subject: [PATCH] drm/i915/gt: Skip TLB invalidations once wedged
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
[ Upstream commit e5a95c83ed1492c0f442b448b20c90c8faaf702b ]
|
|
|
|
Skip all further TLB invalidations once the device is wedged and
|
|
had been reset, as, on such cases, it can no longer process instructions
|
|
on the GPU and the user no longer has access to the TLB's in each engine.
|
|
|
|
So, an attempt to do a TLB cache invalidation will produce a timeout.
|
|
|
|
That helps to reduce the performance regression introduced by TLB
|
|
invalidate logic.
|
|
|
|
Cc: stable@vger.kernel.org
|
|
Fixes: 7938d61591d3 ("drm/i915: Flush TLBs before releasing backing store")
|
|
Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
|
|
Cc: Fei Yang <fei.yang@intel.com>
|
|
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
|
|
Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
|
|
Link: https://patchwork.freedesktop.org/patch/msgid/5aa86564b9ec5fe7fe605c1dd7de76855401ed73.1658924372.git.mchehab@kernel.org
|
|
(cherry picked from commit be0366f168033374a93e4c43fdaa1a90ab905184)
|
|
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|
---
|
|
drivers/gpu/drm/i915/gt/intel_gt.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
|
|
index 3a76000d15bf..ed8ad3b26395 100644
|
|
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
|
|
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
|
|
@@ -949,6 +949,9 @@ void intel_gt_invalidate_tlbs(struct intel_gt *gt)
|
|
if (I915_SELFTEST_ONLY(gt->awake == -ENODEV))
|
|
return;
|
|
|
|
+ if (intel_gt_is_wedged(gt))
|
|
+ return;
|
|
+
|
|
if (GRAPHICS_VER(i915) == 12) {
|
|
regs = gen12_regs;
|
|
num = ARRAY_SIZE(gen12_regs);
|