drm/i915: Mark untiled BLT commands as fenced on gen2/3
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 21 Mar 2012 10:48:18 +0000 (10:48 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 1 Apr 2012 10:26:05 +0000 (12:26 +0200)
commit7dd4906586274f3945f2aeaaa5a33b451c3b4bba
treefa0258dcd2325e7ffef04adedf471a0a5afa8f10
parent55a254ac63a3ac1867d1501030e7fba69c7d4aeb
drm/i915: Mark untiled BLT commands as fenced on gen2/3

The BLT commands on gen2/3 utilize the fence registers and so we cannot
modify any fences for the object whilst those commands are in flight.
Currently we marked tiled commands as occupying a fence, but forgot to
restrict the untiled commands from preventing a fence being assigned
before they were completed.

One side-effect is that we ten have to double check that a fence was
allocated for a fenced buffer during move-to-active.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43427
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47990
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Testcase: i-g-t/tests/gem_tiled_after_untiled_blt
Tested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c