<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>