[intel] Add debug code to verify the cached ring tail pointer.
authorKeith Packard <keithp@keithp.com>
Thu, 22 May 2008 17:48:32 +0000 (10:48 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 23 May 2008 05:00:21 +0000 (22:00 -0700)
commita51c3a76ff415104426493a97ac686ccfe3f3926
treec350968912458fa312c784dcd5b26c1532f38c43
parentda3f099a7c4a18468ff84819ed39e42bec641e11
[intel] Add debug code to verify the cached ring tail pointer.

Recording the tail pointer in a local variable improves performance, but if
someone messes up and fails to reload at the right time, the driver will
write commands to the wrong part of the ring and scramble execution badly.

This change (available by setting I915_RING_VALIDATE to 1) checks to make
sure the cached tail pointer matches the hardware tail pointer at each ring
buffer addition, calling BUG_ON when that's not true.
shared-core/i915_dma.c
shared-core/i915_drv.h