]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Mark CPU cache as dirty when used for rendering
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 7 Nov 2016 16:52:04 +0000 (16:52 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 7 Nov 2016 20:54:39 +0000 (20:54 +0000)
commitdca92292d60491d67861ab1c7d4d55f38e5aa66f
treea109c41bbe5450e4199a6316625e0fc845d1e7ed
parent603298cd5db296d72bada1a04291b32c037148e8
drm/i915: Mark CPU cache as dirty when used for rendering

On LLC, or even snooped, machines rendering via the GPU ends up in the CPU
cache. This cacheline dirt also needs to be flushed to main memory when
moving to an incoherent domain, such as the display's scanout engine.
Mostly, this happens because either the object is marked as dirty from
its first use or is avoided by setting the object into the display
domain from the start.

v2: Treat WT as not requiring a clflush prior to use on the display
engine as well.

Fixes: 543962256ae3 ("drm/i915: Performed deferred clflush inside set-cache-level")
References: https://bugs.freedesktop.org/show_bug.cgi?id=95414
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.0+
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161107165204.7008-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_execbuffer.c