i915: Fix i915 suspend delay
commitd7b9935a347ae954be907ea3d5eb4564ff124c53
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 20 Jan 2011 21:19:55 +0000 (20 13:19 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 21 Jan 2011 00:18:25 +0000 (20 16:18 -0800)
treee830f6ce1e65300db9d6b00b94a9d144fc95c72f
parentb23fffd778c312b8fb258d342051fcbdf6712128
i915: Fix i915 suspend delay

During system suspend, the "wait for ring buffer to empty" loop would
always time out after three seconds, because the faster cached ring
buffer head read would always return zero.  Force the slow-and-careful
PIO read on all but the first iterations of the loop to fix it.

This also removes the unused (and useless) 'actual_head' variable that
tried to approximate doing this, but did it incorrectly.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Dave Airlie <airlied@linux.ie>
Cc: DRI mailing list <dri-devel@lists.freedesktop.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h