On Tue, 29 Nov 2011 18:32:18 +0100, Daniel Vetter <[email protected]> 
wrote:
> Better be paranoid. The wmb should flush the wc writes, and
> the chipset_flush hopefully flushes any mch buffers. There've been a
> few overlay hangs I've never really diagnosed, unfortunately all the
> reporters disappeared.

One of the worries I've had in the past has been whether we need a wmb()
inside intel_ring_begin() so that all the register writes (assuming we
get WC registers one day) and the WC gtt writes are coherent with
initiating work on the GPU. I attacked
i915_gem_object_flush_gtt_write_domain() instead in the belief that
would be sufficient. I think this demonstrates I was wrong. However, you
could argue that the overlay code is circumventing the cache domain
tracking of gem objects established for this very purpose. Though
calling i915_gem_object_set_to_gtt_domain(obj,true) in map and
i915_gem_object_flush_gtt_write_domain() in unmap might be overkill...
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to