Summary: | [i915] Page table errors with empty ringbuffer | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Geir Ove Myhr <gomyhr> | ||||||||||
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> | ||||||||||
Status: | CLOSED FIXED | QA Contact: | |||||||||||
Severity: | normal | ||||||||||||
Priority: | medium | ||||||||||||
Version: | DRI git | ||||||||||||
Hardware: | x86 (IA32) | ||||||||||||
OS: | Linux (All) | ||||||||||||
Whiteboard: | |||||||||||||
i915 platform: | i915 features: | ||||||||||||
Attachments: |
|
Description
Geir Ove Myhr
2010-03-14 09:13:51 UTC
Created attachment 34034 [details]
i915_error_state from intel-drm-next kernel
Created attachment 34035 [details]
intel_error_decode output on the previously attache i915_error_state
Created attachment 34036 [details]
dmesg output
Created attachment 34037 [details]
Xorg.0.log
One thing I noticed was that while in the automatically reported outputs of intel_gpu_dump the ringbuffer start at 0x00000000, in the intel_error_decode output it starts at 0x007bf000, but in both cases the head is at ACTHD: 0x00000000, which doesn't make much sense in the latter case. I should have been more specific in Kim's description of the symptoms. This is what he writes: Please note that the PC display is not hanging. It continues on and displays a screen either as tty7 or tty8. If the display is tty7, there are framebuffer error messages above the tty login prompt on tty1 ; if the display is on tty8, there are framebuffer error messages on the tty7, with tty7 not showing any other text/graphics. I have marked two more downstream bug reports as duplicates of this one: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/533139 https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/535454 In these bugs there were some slight differences: - In the first one the CPU has started writing to the ringbuffer, but the GPU hasn't started writing yet (ACTHD: 0x00000000). - In the second bug report the GPU has also started reading, and it has PGTBL_ER: 0x00000001 instead of PGTBL_ER: 0x00000001. The pair of patches to ensure that the framebuffers are correctly aligned are now upstream, as of 2.6.35-rc2: commit fd2e8ea597222b8f38ae8948776a61ea7958232e Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Feb 9 14:14:36 2010 +0000 drm/i915: Increase fb alignment to 64k An untiled framebuffer must be aligned to 64k. This is normally handled by intel_pin_and_fence_fb_obj(), but the intelfb_create() likes to be different and do the pinning itself. However, it aligns the buffer object incorrectly for pre-i965 chipsets causing a PGTBL_ERR when it is installed onto the output. Fixes: KMS error message while initializing modesetting - render error detected: EIR: 0x10 [i915] http://bugs.freedesktop.org/show_bug.cgi?id=22936 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org Signed-off-by: Eric Anholt <eric@anholt.net> commit ac0c6b5ad3b3b513e1057806d4b7627fcc0ecc27 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu May 27 13:18:18 2010 +0100 drm/i915: Rebind bo if currently bound with incorrect alignment. Whilst pinning the buffer, check that that its current alignment matches the requested alignment. If it does not, rebind. This should clear up any final render errors whilst resuming, for reference: Bug 27070 - [i915] Page table errors with empty ringbuffer https://bugs.freedesktop.org/show_bug.cgi?id=27070 Bug 15502 - render error detected, EIR: 0x00000010 https://bugzilla.kernel.org/show_bug.cgi?id=15502 Bug 13844 - i915 error: "render error detected" https://bugzilla.kernel.org/show_bug.cgi?id=13844 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org Signed-off-by: Eric Anholt <eric@anholt.net> |
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.