]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Suppress spurious vblank interrupts
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 31 Jan 2011 10:48:04 +0000 (10:48 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 31 Jan 2011 12:38:47 +0000 (12:38 +0000)
commit9a4e7304bf2896b63e19fd407d052c7cdb955758
tree481dba4a9d30cf25ee25cda443a17cb6e209668c
parenta6961aca574754ba3355e952e126c2df5a8a8ac5
drm/i915: Suppress spurious vblank interrupts

Hugh Dickins found that characters in xterm were going missing and oft
delayed. Being the curious type, he managed to associate this with the
new high-precision vblank patches; disabling these he found, restored
the orderliness of his characters.

The oddness begins when one realised that Hugh was not using vblanks at
all on his system (fvwm and some xterms). Instead, all he had to go on
were warning of a pipe underrun, curiously enough at around 60Hz. He
poked and found that in addition to the underrun warning, the hardware
was flagging the start of a new frame, a vblank, which in turn was
kicking off the pending vblank processing code.

There is little we can do for the underruns on Hugh's machine, a
Crestline [965GM], which must have its FIFO watermarks set to 8.
However, we do not need to process the vblank if we know that they are
disabled...

Reported-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/drm_irq.c
drivers/gpu/drm/i915/i915_irq.c
include/drm/drmP.h