[PATCH 3/3] drm/i915: Restore Braswell GGTT update w/a

Chris Wilson chris at chris-wilson.co.uk
Wed Dec 5 14:40:51 UTC 2018


Instability while running gem_concurrent_blit (both invalid results and
GPU hangs) is being hit once again on Braswell. So presumably the earlier
problem never went away but was hidden instead, so restore the w/a.

Testcase: igt/gem_concurrent_blit
Fixes: 4509276ee824 ("drm/i915: Remove Braswell GGTT update w/a")
References: 5bab6f60cb4d ("drm/i915: Serialise updates to GGTT with access through GGTT on Braswell")
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Cc: <stable at vger.kernel.org> # v4.12+
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 62bde517d383..4022521cd39a 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -3353,7 +3353,8 @@ static int gen8_gmch_probe(struct i915_ggtt *ggtt)
 	ggtt->vm.insert_entries = gen8_ggtt_insert_entries;
 
 	/* Serialize GTT updates with aperture access on BXT if VT-d is on. */
-	if (intel_ggtt_update_needs_vtd_wa(dev_priv)) {
+	if (IS_CHERRYVIEW(dev_priv) ||
+	    intel_ggtt_update_needs_vtd_wa(dev_priv)) {
 		ggtt->vm.insert_entries = bxt_vtd_ggtt_insert_entries__BKL;
 		ggtt->vm.insert_page    = bxt_vtd_ggtt_insert_page__BKL;
 		if (ggtt->vm.clear_range != nop_clear_range)
-- 
2.20.0.rc2



More information about the Intel-gfx-trybot mailing list