]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Workaround incoherence with fence updates on Valleyview
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 22 May 2013 16:08:06 +0000 (17:08 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 23 May 2013 10:51:31 +0000 (12:51 +0200)
commitb61e62ae65a2089a9dd8d03b570c1f6893401cfc
treefbafe6fc933bf63356aa24e5797ed7f4d7ec30c1
parent14f9285de6454b95dfb7821d7a6407768b1e7bf8
drm/i915: Workaround incoherence with fence updates on Valleyview

In commit 4d8151650eb04c3451e998eee5aaac1fad538965
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 4 21:31:03 2013 +0100

    drm/i915: Workaround incoherence between fences and LLC across multiple CPUs

we introduced an empirical workaround for memory corruption when using
fences from multiple CPUs. At the time, we did not have any results for
Valleyview, so the presumption was that it was limited to recent
generations using LLC. Now we have evidence that Valleyview also suffers
incoherence and requires a similar but different workaround. For
Valleyview, the wbinvd instruction is insufficient and we require the
serialising register write per-CPU. Conversely, that serialising
register write is not enough for SNB/IVB/HSW. To compromise and keep the
code relatively clean, employ both serialisation techniques in the same
workaround.

Reported-by: Jon Bloomfield <jon.bloomfield@intel.com>
Tested-by: Jon Bloomfield <jon.bloomfield@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62191
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c