drm/i915/ringbuffer: Idling requires waiting for the ring to be empty
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 12 Jul 2011 17:03:29 +0000 (18:03 +0100)
committerKeith Packard <keithp@keithp.com>
Tue, 12 Jul 2011 17:35:45 +0000 (10:35 -0700)
commita94919eaddaa3fede1df8563ce4d761a75374645
treeec08ea68ca13871bd3f15526df2e55d0f7a92012
parent05bd42688dbc066d4e2689b6f73c0470601f788b
drm/i915/ringbuffer: Idling requires waiting for the ring to be empty

...which is measured by the size and not the amount of space remaining.

Waiting upon size-8, did one of two things. In the common case with more
than 8 bytes available to write into the ring, it would return
immediately. Otherwise, it would timeout given the impossible condition
of waiting for more space than is available in the ring, leading to
warnings such as:

[drm:intel_cleanup_ring_buffer] *ERROR* failed to quiesce render ring
whilst cleaning up: -16

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/intel_ringbuffer.h