drm/i915: Fix regression in ba3d8d749b

I pulled the wrong version of the patch from Daniel Vetter which was
missing the read barriers -- and the one that was causing all the trouble
was from i915_gem_object_put_fence_reg(), leading to GPU hangs on gen3.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2010-09-14 10:22:23 +01:00
parent 7213342db5
commit 0bc23aad3b

View File

@ -2430,12 +2430,16 @@ i915_gem_object_put_fence_reg(struct drm_gem_object *obj)
int ret;
ret = i915_gem_object_flush_gpu_write_domain(obj, false);
if (ret != 0)
if (ret)
return ret;
ret = i915_gem_object_wait_rendering(obj);
if (ret)
return ret;
}
i915_gem_object_flush_gtt_write_domain(obj);
i915_gem_clear_fence_reg (obj);
i915_gem_clear_fence_reg(obj);
return 0;
}