Summary: | [ilk] GPU hung / Failed to reset chip | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Xorlogosh <xorlogosh> | ||||||||||
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||
Severity: | major | ||||||||||||
Priority: | medium | ||||||||||||
Version: | XOrg git | ||||||||||||
Hardware: | x86 (IA32) | ||||||||||||
OS: | Linux (All) | ||||||||||||
Whiteboard: | |||||||||||||
i915 platform: | i915 features: | ||||||||||||
Attachments: |
|
Description
Xorlogosh
2013-01-19 18:50:11 UTC
Just to check: Was that error_state on latest drm-intel-nightly? yes, indeed from the nightly build of http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/2013-01-19-raring/ On Sat, Jan 19, 2013 at 7:58 PM, <bugzilla-daemon@freedesktop.org> wrote: > *Comment # 1 <https://bugs.freedesktop.org/show_bug.cgi?id=59593#c1> on bug > 59593 <https://bugs.freedesktop.org/show_bug.cgi?id=59593> from Daniel > Vetter <daniel@ffwll.ch> * > > Just to check: Was that error_state on latest drm-intel-nightly? > > ------------------------------ > You are receiving this mail because: > > - You reported the bug. > > For reference: commit 10a2b7e3a2d987283189a0d0f67ae133d922f5d4 Merge: 39e0371 7b4cf99 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Fri Jan 18 22:18:16 2013 +0100 Merge remote-tracking branch 'drm-upstream/drm-fixes' into drm-intel-nightly Seems to have died at the end of a batch in a tri fan sequential prim op. Can you test what happens with latest mesa from xorg-edgers. Also, what kind of programs do you have running while the machine dies (desktop enviroment, compositor, any opengl apps, ...). Also, can you please boot with drm.debug=0xe added to your kernel cmdline and then attach the complete dmesg? Just for reference so we know about your hw ... Experiencing a similar issue on Arch Linux with
* xorg-server 1.14.0-2,
* intel-dri 9.1.1-1
* libva-intel-driver 1.0.19-1
* xf86-video-intel 2.21.5-1
* kernel 3.8.4-1
* gnome-shell 3.6.3.1-3
When using a combination of firefox / mplayer2 (with xv backend) the gnome-shell crashes and tells me to logout because it is unable to restart. I can log back into gnome, but graphics are distorted.
dmesg shows:
> [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
> [drm] capturing error event; look for more information in /debug/dri/0/i915_error_state
> [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
> [drm:i915_reset] *ERROR* GPU hanging too fast, declaring wedged!
> [drm:i915_reset] *ERROR* Failed to reset chip.
Will attach i915_error_state and drm.debug=0xe-dmesg when it happens again.
Created attachment 76979 [details]
dmesg with drm.debug=0xe
Created attachment 76980 [details]
/debug/dri/0/i915_error_state
Created attachment 76981 [details]
dmesg with drm.debug=0xe and the error happening
Death inside a mesa batchbuffer. Have you tried mesa-8.0.y? No and I'm not really eager to downgrade. % LANG=C sudo pacman -U mesa-8.0.4-3-86_64.pkg.tar.xz :( loading packages... warning: downgrading package mesa (9.1.1-1 => 8.0.4-3) resolving dependencies... looking for inter-conflicts... error: failed to prepare transaction (could not satisfy dependencies) :: cairo: requires mesa>=9.1 :: libva: requires libegl :: mesa-libgl: requires mesa=9.1.1 I used this laptop with Ubuntu 12.04 though and everything was fine. They ship 8.0.4-0ubuntu0.2 there. I wonder if this patch might help with the reset: diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 0cfc778..1c53438 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -744,6 +744,7 @@ static int ironlake_do_reset(struct drm_device *dev) int ret; gdrst = I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR); + gdrst &= ~GRDOM_MASK; I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR, gdrst | GRDOM_RENDER | GRDOM_RESET_ENABLE); ret = wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500); @@ -752,6 +753,7 @@ static int ironlake_do_reset(struct drm_device *dev) /* We can't reset render&media without also resetting display ... */ gdrst = I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR); + gdrst &= ~GRDOM_MASK; I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR, gdrst | GRDOM_MEDIA | GRDOM_RESET_ENABLE); return wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500); diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 5e91fbb..95ad87c 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -91,6 +91,7 @@ #define GRDOM_FULL (0<<2) #define GRDOM_RENDER (1<<2) #define GRDOM_MEDIA (3<<2) +#define GRDOM_MASK (3<<2) #define GRDOM_RESET_ENABLE (1<<0) #define GEN6_MBCUNIT_SNPCR 0x900c /* for LLC config */ I'm an optimist and hope that Jesse's patch indeed fixes this: commit 8a5c2ae753c588bcb2a4e38d1c6a39865dbf1ff3 Author: Jesse Barnes <jbarnes@virtuousgeek.org> Date: Thu Mar 28 13:57:19 2013 -0700 drm/i915: fix ILK GPU reset for render |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.