Summary: | [i965gm] GPU lockup during login | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Bryce Harrington <bryce> | ||||||||||
Component: | Driver/intel | Assignee: | Chris Wilson <chris> | ||||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||
Severity: | major | ||||||||||||
Priority: | high | CC: | mdz | ||||||||||
Version: | 7.6 (2010.12) | ||||||||||||
Hardware: | x86 (IA32) | ||||||||||||
OS: | Linux (All) | ||||||||||||
Whiteboard: | |||||||||||||
i915 platform: | i915 features: | ||||||||||||
Attachments: |
|
Description
Bryce Harrington
2011-02-07 18:47:18 UTC
Created attachment 43074 [details]
BootDmesg.txt
Created attachment 43075 [details]
CurrentDmesg.txt
Created attachment 43076 [details]
XorgLog.txt
Created attachment 43077 [details] i915_error_state.txt Also, GPU dump at https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/710321/+attachment/1818212/+files/IntelGpuDump.txt commit 3c5b1399e29ef577b8b91655b5e1c215d1b6dfbb Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Nov 9 20:20:06 2010 +0000 i915: Disable maximum state addresses As the kernel controls the relocation of state buffers, we should not hard code the maximum permissible value for them. Fixes an eventual hang with full-gtt. Reported-by: Peter Clifton <pcjc2@cam.ac.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> The version of the driver the user tested was: version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-1ubuntu2 which already included commit 3c5b1399e29ef577b8b91655b5e1c215d1b6dfbb The error state says differently: 0x0d6a8014: 0x61010004: STATE_BASE_ADDRESS 0x0d6a8018: 0x00000001: general state base address 0x00000000 0x0d6a801c: 0x0d8f2001: surface state base address 0x0d8f2000 0x0d6a8020: 0x00000001: indirect state base address 0x00000000 0x0d6a8024: 0x10000001: general state upper bound 0x10000000 0x0d6a8028: 0x10000001: indirect state upper bound 0x10000000 Not only which, but we also have a typo in intel_decode.c You appear to still be setting BASE_ADDRESS_MODIFY to 0x10000000 in i965_emit_video_setup for general_state, object_state, and instruction_state. I'm not sure if that's relevant, but I suspect it is. (In reply to comment #9) > You appear to still be setting BASE_ADDRESS_MODIFY to 0x10000000 in > i965_emit_video_setup for general_state, object_state, and instruction_state. ^^^^^^^^^^^^^^^^^^ in src/i965_video.c, if that's not obvious. (In reply to comment #10) > (In reply to comment #9) > > You appear to still be setting BASE_ADDRESS_MODIFY to 0x10000000 in > > i965_emit_video_setup for general_state, object_state, and instruction_state. > ^^^^^^^^^^^^^^^^^^ in src/i965_video.c, if that's not obvious. Please. No. I don't want to be reminded of how much badness there exists in our code. Christopher, what's the likelihood of Xv being using during login? So I suspect this code was not the cause, but nevertheless it is still very wrong. commit 23f9b14df7c102c1036134835dd5d1a508059858 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat Feb 12 10:42:34 2011 +0000 i965: Remove broken maximum base addresses from video WRONG. The hardware was never limited to 0x1000000 and the kernel can quite rightly place objects above that limit. Specifying such had no relation to reality, so why did we do it? TWICE! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34017 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Thanks for the fix Chris. I would be a little surprised if we exercise Xv at all during boot, but stranger things have happened. In any case we've been hearing of a few issues with video in general, perhaps this will solve those. *** Bug 34461 has been marked as a duplicate of this bug. *** |
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.