Skip to content

Commit 248f883

Browse files
kaydenljnikula
authored andcommitted
drm/i915: Disable SAMPLER_STATE prefetching on all Gen11 steppings.
The Demand Prefetch workaround (binding table prefetching) only applies to Icelake A0/B0. But the Sampler Prefetch workaround needs to be applied to all Gen11 steppings, according to a programming note in the SARCHKMD documentation. Using the Intel Gallium driver, I have seen intermittent failures in the dEQP-GLES31.functional.copy_image.non_compressed.* tests. After applying this workaround, the tests reliably pass. v2: Remove the overlap with a pre-production w/a BSpec: 9663 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@vger.kernel.org Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190625090655.19220-1-chris@chris-wilson.co.uk (cherry picked from commit f9a3938) Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent ac65bdf commit 248f883

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/gpu/drm/i915/gt/intel_workarounds.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,8 +1258,12 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal)
12581258
if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0))
12591259
wa_write_or(wal,
12601260
GEN7_SARCHKMD,
1261-
GEN7_DISABLE_DEMAND_PREFETCH |
1262-
GEN7_DISABLE_SAMPLER_PREFETCH);
1261+
GEN7_DISABLE_DEMAND_PREFETCH);
1262+
1263+
/* Wa_1606682166:icl */
1264+
wa_write_or(wal,
1265+
GEN7_SARCHKMD,
1266+
GEN7_DISABLE_SAMPLER_PREFETCH);
12631267
}
12641268

12651269
if (IS_GEN_RANGE(i915, 9, 11)) {

0 commit comments

Comments
 (0)