summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2022-07-22 06:06:28 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2022-07-22 06:06:28 +0000
commit4216559debaa5a531064a3d95c7c74319a238dd0 (patch)
tree3bdfd659efb5d6b318baaa4fa57839fe2d7209b2 /sys
parent4c31c8ce464fa4e899b7c506d83c9709f9a8cdb5 (diff)
drm/i915/dg2: Add Wa_22011100796
From Bruce Chang f8ba02531476196f44a486df178b4f1fec178234 in linux 5.15.y/5.15.56 154cfae6158141b18d65abb0db679bb51a8294e7 in mainline linux
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/drm/i915/gt/intel_reset.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/i915/gt/intel_reset.c b/sys/dev/pci/drm/i915/gt/intel_reset.c
index d641ff512c7..c6ff3151ef7 100644
--- a/sys/dev/pci/drm/i915/gt/intel_reset.c
+++ b/sys/dev/pci/drm/i915/gt/intel_reset.c
@@ -623,6 +623,15 @@ static int gen8_reset_engines(struct intel_gt *gt,
*/
}
+ /*
+ * Wa_22011100796:dg2, whenever Full soft reset is required,
+ * reset all individual engines firstly, and then do a full soft reset.
+ *
+ * This is best effort, so ignore any error from the initial reset.
+ */
+ if (IS_DG2(gt->i915) && engine_mask == ALL_ENGINES)
+ gen11_reset_engines(gt, gt->info.engine_mask, 0);
+
if (GRAPHICS_VER(gt->i915) >= 11)
ret = gen11_reset_engines(gt, engine_mask, retry);
else