Linux Archive

Linux Archive (
-   Ubuntu Kernel Team (
-   -   natty cherry-pick request: drm/i915: Fix gen6 (SNB) missed BLT ring interrupts. (

Robert Hooker 06-21-2011 03:38 PM

natty cherry-pick request: drm/i915: Fix gen6 (SNB) missed BLT ring interrupts.
Please consider pulling the following change into natty to fix LP #761065.

SRU Justification:
Fixes a constant stream of hangcheck errors flooding dmesg, and
removes the visible stuttering that was caused by it when using 3D
Fixes missed interrupts on sandybridge GPU's. It doesn't affect any
other GPU generation.
Upstream commit 498e720b96379d8ee9c294950a01534a73defcf3.
1) Install mesa-utils on a system using sandybridge graphics on 11.04
2) run vblank_mode=0 glxgears and let it run for 30 seconds or so
3) kill it then check dmesg
4) Without fix: hangcheck messages every ~5 seconds, massive
stuttering of the whole desktop observed. With fix: no hangcheck
messages, able to continue using the desktop.

This was sent to stable, but 2.6.38.y stable is dead so it will need
to be manually cherry-picked. It has been tested extensively locally
as well as by users on the bug whom I provided test kernels for. It
applies cleanly to ubuntu-natty.git.;a=commit;h=498e720b96379d8ee9c294950a01534 a73defcf3

drm/i915: Fix gen6 (SNB) missed BLT ring interrupts.

The failure appeared in dmesg as:

[drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt
ring idle [waiting on 35064155, at 35064155], missed IRQ?

This works around that problem on by making the blitter command
streamer write interrupt state to the Hardware Status Page when a
MI_USER_INTERRUPT command is decoded, which appears to force the seqno
out to memory before the interrupt happens.

v1->v2: Moved to prior interrupt handler installation and RMW flags as
per feedback.
v2->v3: Removed RMW of flags (by anholt)

Signed-off-by: Daniel J Blueman <>
Signed-off-by: Eric Anholt <>
Tested-by: Chris Wilson <> [v1]
Tested-by: Eric Anholt <> [v1,v3]
(incidence of the bug with a testcase went from avg 2/1000 to
0/12651 in the latest test run (plus more for v1))
Tested-by: Kenneth Graunke <> [v1]
Tested-by: Robert Hooker <> [v1]
Signed-off-by: Dave Airlie <>

kernel-team mailing list

All times are GMT. The time now is 10:55 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.