drm/i915: Avoid the branch in computing intel_ring_space()
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 May 2017 13:08:44 +0000 (14:08 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 May 2017 14:40:38 +0000 (15:40 +0100)
commit605d5b3297687cce9d3c4298c699188e61486a4c
tree843b54037b92d5477ae26f5c3d68b44c68a0aea1
parent266a240bf0abf1e00e72e571f3724ec753a35f19
drm/i915: Avoid the branch in computing intel_ring_space()

Exploit the power-of-two ring size to compute the space across the
wraparound using a mask rather than a if. Convert to unsigned integers
so the operation is well defined.

References: https://bugs.freedesktop.org/show_bug.cgi?id=99671
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170504130846.4807-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h