UPSTREAM: drm/i915/skl: Fix spurious gpu hang with gt3/gt4 r... [chromiumos/third_party/kernel : chromeos-4.4]

8 views
Skip to first unread message

ChromeOS Commit Bot (Gerrit)

unread,
Jun 13, 2016, 9:12:07 AM6/13/16
to Tarun Vyas, Russ Sage, Wayne Boyer, Stéphane Marchesin
ChromeOS Commit Bot has submitted this change and it was merged.

Change subject: UPSTREAM: drm/i915/skl: Fix spurious gpu hang with gt3/gt4
revs
......................................................................


UPSTREAM: drm/i915/skl: Fix spurious gpu hang with gt3/gt4 revs

Experiments with heaven 4.0 benchmark and skylake gt3e (rev 0xa)
suggest that WaForceContextSaveRestoreNonCoherent is needed for all
revs. Extending this to all revs cures a gpu hang with rev 0xa when
running heaven4.0 gpu benchmark.

We have been here before, with problems enabling gt4e and extending
up to revision F0 instead of false claims of bspec of E0 only. See
commit <e238659ddd88> ("drm/i915/skl: Default to noncoherent access
up to F0"). In retrospect we should have covered this with this big
blanket back then already, as E0 vs F0 discrepancy was suspicious
enough.

Previously the WaForceEnableNonCoherent has been tied to
context non-coherence, atleast in relevant hsds. So keep this tie
and extended this alongside.

Cc: Abdiel Janulgue <abdiel....@linux.intel.com>
Cc: Ben Widawsky <benjamin...@intel.com>
Cc: Timo Aaltonen <tjaa...@ubuntu.com>
Cc: sta...@vger.kernel.org
Reported-by: Mike Lothian <mi...@fireburn.co.uk>
References: https://bugs.freedesktop.org/show_bug.cgi?id=93491
Signed-off-by: Mika Kuoppala <mika.k...@intel.com>
Reviewed-by: Ben Widawsky <benjamin...@intel.com>
Tested-by: Timo Aaltonen <tjaa...@ubuntu.com>
Link:
http://patchwork.freedesktop.org/patch/msgid/1459860977-27751-2-git-...@intel.com
(cherry picked from commit 97ea6be161c55dec896b65c95157d953c330ae05
from drm-intel-next-2016-04-25)
Signed-off-by: Tarun Vyas <tarun...@intel.com>

BUG=chrome-os-partner:52640
TEST=Image builds, boots and is browse-able

Change-Id: Ida9eba50b51e08e59be6860e17c16e3491cb1d87
Reviewed-on: https://chromium-review.googlesource.com/345250
Commit-Ready: Wayne Boyer <wayne...@intel.com>
Tested-by: Russ Sage <russ...@intel.com>
Reviewed-by: Stéphane Marchesin <mar...@chromium.org>
---
M drivers/gpu/drm/i915/intel_ringbuffer.c
1 file changed, 3 insertions(+), 2 deletions(-)



diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c
b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 41b604e..19ebe77 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -980,7 +980,7 @@

/* WaForceContextSaveRestoreNonCoherent:skl,bxt */
tmp = HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT;
- if (IS_SKL_REVID(dev, SKL_REVID_F0, SKL_REVID_F0) ||
+ if (IS_SKL_REVID(dev, SKL_REVID_F0, REVID_FOREVER) ||
IS_BXT_REVID(dev, BXT_REVID_B0, REVID_FOREVER))
tmp |= HDC_FORCE_CSR_NON_COHERENT_OVR_DISABLE;
WA_SET_BIT_MASKED(HDC_CHICKEN0, tmp);
@@ -1097,7 +1097,8 @@
WA_SET_BIT_MASKED(HIZ_CHICKEN,
BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE);

- if (IS_SKL_REVID(dev, 0, SKL_REVID_F0)) {
+ /* This is tied to WaForceContextSaveRestoreNonCoherent */
+ if (IS_SKL_REVID(dev, 0, REVID_FOREVER)) {
/*
*Use Force Non-Coherent whenever executing a 3D context. This
* is a workaround for a possible hang in the unlikely event

--
To view, visit https://chromium-review.googlesource.com/345250
To unsubscribe, visit https://chromium-review.googlesource.com/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ida9eba50b51e08e59be6860e17c16e3491cb1d87
Gerrit-PatchSet: 2
Gerrit-Project: chromiumos/third_party/kernel
Gerrit-Branch: chromeos-4.4
Gerrit-Owner: Tarun Vyas <tarun...@intel.com>
Gerrit-Reviewer: ChromeOS Commit Bot <chromeos-...@chromium.org>
Gerrit-Reviewer: Russ Sage <russ...@intel.com>
Gerrit-Reviewer: Stéphane Marchesin <mar...@chromium.org>
Gerrit-Reviewer: Tarun Vyas <tarun...@intel.com>
Gerrit-Reviewer: Wayne Boyer <wayne...@intel.com>
Reply all
Reply to author
Forward
0 new messages