• Linus Torvalds's avatar
    i915: Fix i915 suspend delay · d7b9935a
    Linus Torvalds authored
    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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d7b9935a
intel_ringbuffer.c 30.9 KB