Bug 22283

Summary: [GEM] GPU wedging corellated with display blanking
Product: xorg Reporter: Ben Gamari <bgamari>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: matt1606
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log
none
GPU dump of crashed chip
none
GPU dump of last night's crash
none
More post-mortem data none

Description Ben Gamari 2009-06-14 09:54:42 UTC
Created attachment 26773 [details]
Xorg log

It seems that allowing the display to blank with xf86-video-intel from git causes the gpu to wedge up. A preliminary bisection shows that the first bad commit is jbarnes' ec2fde7c8250fdc30984f16c8a1d3587d70b0144. 


Xorg components as of Sun Jun 14 04:59:52 EDT 2009
drm: 	6e88027eb5ae669cbe9710bca5309b3a06b0adc5
xf86-video-intel: 	374368109c1db603b6fb514212d0e9661b93f913
mesa: 	d9617deb008b75f4a605a30408aeb1948139c33e
xserver: 	92bc088aab7a904d64641d6e5d2a76058e9fa6fc

Linux ben-laptop 2.6.30-ben #21 SMP Wed Jun 10 13:27:14 EDT 2009 x86_64 GNU/Linux
Comment 1 Ben Gamari 2009-06-14 09:58:11 UTC
Created attachment 26774 [details]
GPU dump of crashed chip

Here is the gpu dump of a crashed chip.  When the chip goes down the batch
buffer head is located at,

> 0x0c1db014: HEAD 0x54f08806: XY_SRC_COPY_BLT (rgb enabled, alpha enabled, src
> tile 1, dst tile 1)
> 0x0c1db018: HEAD 0x03cc0780:    format 8888, dst pitch 1920, clipping disabled
> 0x0c1db01c: HEAD 0x04980766:    dst (1894,1176)
> 0x0c1db020: HEAD 0x04b00780:    dst (1920,1200)
> 0x0c1db024: HEAD 0x04331000:    dst offset 0x04331000
> 0x0c1db028: HEAD 0x04980766:    src (1894,1176)
> 0x0c1db02c: HEAD 0x00000780:    src pitch 1920
> 0x0c1db030: HEAD 0x06696000:    src offset 0x06696000

I'm not certain, but it seems like the dst and src offsets seem to be invalid
given that tiling is enabled:

> Destination Base Address: (base address of the destination surface: X=0, Y=0)
> When Dest Tiling is enabled (Bit 11 enabled), this address is limited to
> 4Kbytes.
> 
> Source Base Address: (base address of the source surface: X=0, Y=0)
> When Src Tiling is enabled (Bit 15 enabled), this address is limited to
> 4Kbytes.

Then again, ickle suggested the quite reasonable proposal that the
specification is actually trying to say that the address must be aligned to
4kB, consistent with the addresses in the command. Need feedback from someone
at intel to confirm the actual nature of this requirement.
Comment 2 Ben Gamari 2009-06-14 09:59:51 UTC
This is intended to place kernel.org Bug #13490 (http://bugzilla.kernel.org/show_bug.cgi?id=13490) in the right bugzilla. I am seeing this on GM965, although others on that bug have reported seeing it on G45 as well.
Comment 3 Mateusz JasiƄski 2009-06-15 08:07:12 UTC
Same here on Intel GMA950. This problem occurs on linux-2.6.30 and xserver-xorg-video-intel-2.7.99.901-2 (from Debian experimental).

The problem doesn't exist on linux-2.6.30-rc8 with xserver-xorg-video-intel-2.7.99.901-2

or linux-2.6.30 and xserver-xorg-video-intel-2.7.1 (from Debian unstable).
Comment 4 Ben Gamari 2009-06-16 08:47:15 UTC
This is fixed for me as of xf86-video-intel 246cec965958e94babf5377e6f221522b05fb458.
Comment 5 Jesse Barnes 2009-06-16 09:56:13 UTC
Ok, tentatively closing then..  Mateusz please re-open if you see the issue with git master.
Comment 6 Ben Gamari 2009-06-17 08:32:34 UTC
(In reply to comment #5)
> Ok, tentatively closing then..  Mateusz please re-open if you see the issue
> with git master.
> 

I think I must have spoke too soon. My GM965 (running master) crashed yet again while I was sleep last night. Post-mortem data coming.
Comment 7 Ben Gamari 2009-06-17 08:36:40 UTC
Created attachment 26891 [details]
GPU dump of last night's crash

Very similar crash point,

0x047ab014: HEAD 0x54f08806: XY_SRC_COPY_BLT (rgb enabled, alpha enabled, src tile 1, dst tile 1)
0x047ab018: HEAD 0x03cc0780:    format 8888, dst pitch 1920, clipping disabled
0x047ab01c: HEAD 0x00000000:    dst (0,0)
0x047ab020: HEAD 0x04b00780:    dst (1920,1200)
0x047ab024: HEAD 0x020c9000:    dst offset 0x020c9000
0x047ab028: HEAD 0x00000000:    src (0,0)
0x047ab02c: HEAD 0x00000780:    src pitch 1920
0x047ab030: HEAD 0x0ae2c000:    src offset 0x0ae2c000
Comment 8 Ben Gamari 2009-06-17 08:38:45 UTC
Created attachment 26892 [details]
More post-mortem data

Includes the following, 

date
dmesg
versions
Xorg.log
debugfs/i915_ringbuffer_data
debugfs/i915_gem_flushing
debugfs/i915_batchbuffers
debugfs/name
debugfs/i915_gem_inactive
debugfs/vma
debugfs/i915_gem_fence_regs
debugfs/i915_gem_request
debugfs/vm
debugfs/i915_gem_active
debugfs/i915_gem_interrupt
debugfs/clients
debugfs/gem_objects
debugfs/i915_gem_hws
debugfs/queues
debugfs/bufs
debugfs/i915_gem_seqno
debugfs/i915_ringbuffer_info
debugfs/gem_names
Comment 9 Ben Gamari 2009-06-17 08:39:14 UTC
Definitely not fixed, reopening.
Comment 10 Ben Gamari 2009-06-22 13:15:01 UTC
Who is still seeing this? My harddrive decided to quit late last week and after rebuilding from scratch, the issue seems to have disappeared (fingers crossed) on my primary machine. My G45, however, still seems to be dead every morning after running blanked all night.
Comment 11 Ben Gamari 2009-06-22 14:01:49 UTC

*** This bug has been marked as a duplicate of bug 22383 ***

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.