OSDN Git Service

drm/i915/selftests: Replace opencoded clflush with drm_clflush_virt_range
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 30 Jul 2018 07:53:51 +0000 (08:53 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 30 Jul 2018 09:33:21 +0000 (10:33 +0100)
commitf6844a85e0c96a55c61fa3e611f414999b11e4de
treef574a8f0ba4d40499a946ecd27599b6a26cea552
parent39f3be162c46bc2349ad7a5bd89536eb83561c81
drm/i915/selftests: Replace opencoded clflush with drm_clflush_virt_range

We occasionally see that the clflush prior to a read of GPU data is
returning stale data, reminiscent of much earlier bugs fixed by adding a
second clflush for serialisation. As drm_clflush_virt_range() already
supplies the workaround, use it rather than open code the clflush
instruction.

References: 396f5d62d1a5 ("drm: Restore double clflush on the last partial cacheline")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180730075351.15569-3-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/selftests/i915_gem_coherency.c