<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [snb] GTT mapping fails after GPU hang"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63921#c9">Comment # 9</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [snb] GTT mapping fails after GPU hang"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63921">bug 63921</a>
from <span class="vcard"><a class="email" href="mailto:nicolashillegeer@gmail.com" title="Nicolas Hillegeer <nicolashillegeer@gmail.com>"> <span class="fn">Nicolas Hillegeer</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=63921#c8">comment #8</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=63921#c7">comment #7</a>)
> > More interesting fail:
> >
> > [ 4366.361686] [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed...
> > GPU hung
> > [ 4366.361694] [drm] capturing error event; look for more information
> > in/sys/kernel/debug/dri/0/i915_error_state
> > [ 4366.871407] [drm:i915_reset] *ERROR* Failed to reset chip.
> > [ 4376.364660] [drm:i915_gem_wait_for_error] *ERROR* Timed out waiting for
> > the gpu reset to complete
> >
> >
> > Pity we can't get the i915_error_state back, but if you can isolate the
> > cause of the hang that will be enough for the libva (or whoever to work on).
>
> Please try this specifically for the reset hang:
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c
> b/drivers/gpu/drm/i915/i915_gem.c
> index 8539177..df9dfa5 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4036,6 +4036,10 @@ i915_gem_init_hw(struct drm_device *dev)
> I915_WRITE(GEN7_MSG_CTL, temp);
> }
>
> + DRM_ERROR("Forcing no wait on PCH (SNB ONLY)\n");
> + I915_WRITE(ILK_DISPLAY_CHICKEN2,
> + I915_READ(ILK_DISPLAY_CHICKEN2) & ~(0x3 << 14));
> +
> i915_gem_l3_remap(dev);
>
> i915_gem_init_swizzling(dev);</span >
(In reply to <a href="show_bug.cgi?id=63921#c8">comment #8</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=63921#c7">comment #7</a>)
> > More interesting fail:
> >
> > [ 4366.361686] [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed...
> > GPU hung
> > [ 4366.361694] [drm] capturing error event; look for more information
> > in/sys/kernel/debug/dri/0/i915_error_state
> > [ 4366.871407] [drm:i915_reset] *ERROR* Failed to reset chip.
> > [ 4376.364660] [drm:i915_gem_wait_for_error] *ERROR* Timed out waiting for
> > the gpu reset to complete
> >
> >
> > Pity we can't get the i915_error_state back, but if you can isolate the
> > cause of the hang that will be enough for the libva (or whoever to work on).
>
> Please try this specifically for the reset hang:
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c
> b/drivers/gpu/drm/i915/i915_gem.c
> index 8539177..df9dfa5 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4036,6 +4036,10 @@ i915_gem_init_hw(struct drm_device *dev)
> I915_WRITE(GEN7_MSG_CTL, temp);
> }
>
> + DRM_ERROR("Forcing no wait on PCH (SNB ONLY)\n");
> + I915_WRITE(ILK_DISPLAY_CHICKEN2,
> + I915_READ(ILK_DISPLAY_CHICKEN2) & ~(0x3 << 14));
> +
> i915_gem_l3_remap(dev);
>
> i915_gem_init_swizzling(dev);</span >
@Chris:
I'm not sure I'll deduce the cause of the hang by just repeating my testing
(i.e.: playing a lot of movies, often multiple at a time), for SNA it seems to
happen about every hour, with UXA it takes quite a bit longer. I'm trying UXA
again and it's been going for 4 hours now. I hope I get some genious insight in
the near future :).
@Ben:
I'll see what I can do! That's some crazy magic right there. I'll report
tomorrow with the results. Is this codepath supposed to be called with UXA, SNA
or both? Because I will start testing with SNA, since that seems to crash
earlier and more predictably.
Thanks!
Nicolas</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>