]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Write GPU relocs harder with gen3
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 19 Nov 2018 15:41:53 +0000 (15:41 +0000)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 21 Nov 2018 07:32:08 +0000 (09:32 +0200)
commitfa94995b9d294610d02ba2d9598cfdf344061aa8
tree39a142c18da0af09bccce9c11b3ccbde5a3a1b99
parent7a288dcadee8e2c167bec22464aee8f2aac71803
drm/i915: Write GPU relocs harder with gen3

Under moderate amounts of GPU stress, we can observe on Bearlake and
Pineview (later gen3 models) that we execute the following batch buffer
before the write into the batch is coherent. Adding extra (tested with
upto 32x) MI_FLUSH to either the invalidation, flush or both phases does
not solve the incoherency issue with the relocations, but emitting the
MI_STORE_DWORD_IMM twice does. So be it.

Fixes: a155bfac9fd5 ("drm/i915: Async GPU relocation processing")
Testcase: igt/gem_tiled_fence_blits # blb/pnv
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181119154153.15327-1-chris@chris-wilson.co.uk
(cherry picked from commit 7fa28e146994da1e8a4124623d7da97b798ea520)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_gem_execbuffer.c