Bug 35936 - [915GM] gpu hang during gdm login [pipelined fencing?]
Summary: [915GM] gpu hang during gdm login [pipelined fencing?]
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Chris Wilson
QA Contact:
URL: http://bugs.debian.org/620374
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-03 12:17 UTC by Daniel Kahn Gillmor
Modified: 2017-07-24 23:05 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Daniel Kahn Gillmor 2011-04-03 12:17:57 UTC
This is on an EeePC 900 with:

 Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)

You can see the kernel logs at the linked debian bug report.
Comment 1 Chris Wilson 2011-04-04 09:02:59 UTC
After the hang, there is a /sys/kernel/debug/dri/0/i915_error_state containing the debug information required.

Does 2.6.38-2 contain

commit 29c5a587284195278e233eec5c2234c24fb2c204
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 17 15:23:22 2011 +0000

    drm/i915: Fix tiling corruption from pipelined fencing
    
    ... even though it was disabled. A mistake in the handling of fence reuse
    caused us to skip the vital delay of waiting for the object to finish
    rendering before changing the register. This resulted in us changing the
    fence register whilst the bo was active and so causing the blits to
    complete using the wrong stride or even the wrong tiling. (Visually the
    effect is that small blocks of the screen look like they have been
    interlaced). The fix is to wait for the GPU to finish using the memory
    region pointed to by the fence before changing it.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34584
    Cc: Andy Whitcroft <apw@canonical.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    [Note for 2.6.38-stable, we need to reintroduce the interruptible passing]
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Tested-by: Dave Airlie <airlied@linux.ie>
Comment 2 Daniel Kahn Gillmor 2011-04-04 10:31:54 UTC
2.6.38-2 was packaged for debian on 2011-03-29, based on upstream's 2.6.38.2.

Unless the changeset was already in upstream's 2.6.38.2, i see no reference to any i915-related patch in debian/changelog.

I've asked the folks on the debian kernel team to follow up here with a more authoritative answer if possible.
Comment 3 Daniel Kahn Gillmor 2011-04-05 07:07:11 UTC
Ben Hutchings of the debian kernel team said:

> No, we don't have that patch yet.
Comment 4 Chris Wilson 2011-04-12 05:29:42 UTC
Besides the kernel patch, I've disabled lazy fencing in xf86-video-intel.git:

commit 686018f283f1d131073ef5917213e6a8ac013f26
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 12 08:23:04 2011 +0100

    Turn relaxed-fencing off by default for older (pre-G33) chipsets
    
    There are still too many unresolved bugs, typically GPU hangs, that are
    related to using relaxed fencing (i.e. only allocating the minimal
    amount of memory required for a buffer) on older hardware, so turn off
    the feature by default for the release.
    
    Reported-and-tested-by: Knut Petersen <Knut_Petersen@t-online.de>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36147
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 5 Chris Wilson 2011-07-29 02:30:38 UTC
commit e28f87116503f796aba4fb27d81e2c3d81966174
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jul 18 13:11:49 2011 -0700

    drm/i915: Fix unfenced alignment on pre-G33 hardware
    
    Align unfenced buffers on older hardware to the power-of-two object
    size.  The docs suggest that it should be possible to align only to a
    power-of-two tile height, but using the already computed fence size is
    easier and always correct. We also have to make sure that we unbind
    misaligned buffers upon tiling changes.
    
    In order to prevent a repetition of this bug, we change the interface
    to the alignment computation routines to force the caller to provide
    the requested alignment and size of the GTT binding rather than assume
    the current values on the object.
    
    Reported-and-tested-by: Sitosfe Wheeler <sitsofe@yahoo.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36326
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: stable@kernel.org
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Keith Packard <keithp@keithp.com>


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.