Revision e3818697e1d9140d0b990fecf4429d40c41ca0b5 authored by Chris Wilson on 09 January 2017, 11:19:32 UTC, committed by Jani Nikula on 08 February 2017, 11:10:24 UTC
On a non-llc system, the objects are created with .cache_level =
CACHE_NONE and so the transition to uncached for scanout is a no-op.
However, if the object was never written to, it will still be in the CPU
domain (having been zeroed out by shmemfs). Those cachelines need to be
flushed prior to display.

Reported-and-tested-by: Vito Caputo
Fixes: a6a7cc4b7db6 ("drm/i915: Always flush the dirty CPU cache when pinning the scanout")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+
Link: http://patchwork.freedesktop.org/patch/msgid/20170109111932.6342-1-chris@chris-wilson.co.uk
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
(cherry picked from commit 69aeafeae9b30d797c439a30d1a4ccc8dc5b0eb0)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent 5351fbb
History
File Mode Size
Makefile -rw-r--r-- 1.3 KB
callback_srm.S -rw-r--r-- 2.9 KB
checksum.c -rw-r--r-- 4.5 KB
clear_page.S -rw-r--r-- 451 bytes
clear_user.S -rw-r--r-- 2.7 KB
copy_page.S -rw-r--r-- 581 bytes
copy_user.S -rw-r--r-- 2.3 KB
csum_ipv6_magic.S -rw-r--r-- 2.9 KB
csum_partial_copy.c -rw-r--r-- 9.0 KB
dbg_current.S -rw-r--r-- 402 bytes
dbg_stackcheck.S -rw-r--r-- 427 bytes
dbg_stackkill.S -rw-r--r-- 575 bytes
dec_and_lock.c -rw-r--r-- 874 bytes
divide.S -rw-r--r-- 4.3 KB
ev6-clear_page.S -rw-r--r-- 652 bytes
ev6-clear_user.S -rw-r--r-- 7.3 KB
ev6-copy_page.S -rw-r--r-- 4.2 KB
ev6-copy_user.S -rw-r--r-- 7.0 KB
ev6-csum_ipv6_magic.S -rw-r--r-- 5.1 KB
ev6-divide.S -rw-r--r-- 6.3 KB
ev6-memchr.S -rw-r--r-- 5.3 KB
ev6-memcpy.S -rw-r--r-- 6.2 KB
ev6-memset.S -rw-r--r-- 16.0 KB
ev6-stxcpy.S -rw-r--r-- 9.4 KB
ev6-stxncpy.S -rw-r--r-- 11.2 KB
ev67-strcat.S -rw-r--r-- 1.6 KB
ev67-strchr.S -rw-r--r-- 2.8 KB
ev67-strlen.S -rw-r--r-- 1.3 KB
ev67-strncat.S -rw-r--r-- 2.4 KB
ev67-strrchr.S -rw-r--r-- 3.3 KB
fls.c -rw-r--r-- 1.1 KB
fpreg.c -rw-r--r-- 6.2 KB
memchr.S -rw-r--r-- 4.9 KB
memcpy.c -rw-r--r-- 4.0 KB
memmove.S -rw-r--r-- 2.6 KB
memset.S -rw-r--r-- 3.1 KB
srm_printk.c -rw-r--r-- 656 bytes
srm_puts.c -rw-r--r-- 370 bytes
stacktrace.c -rw-r--r-- 2.6 KB
strcat.S -rw-r--r-- 993 bytes
strchr.S -rw-r--r-- 1.9 KB
strcpy.S -rw-r--r-- 453 bytes
strlen.S -rw-r--r-- 1.2 KB
strncat.S -rw-r--r-- 1.8 KB
strncpy.S -rw-r--r-- 1.5 KB
strrchr.S -rw-r--r-- 2.7 KB
stxcpy.S -rw-r--r-- 8.7 KB
stxncpy.S -rw-r--r-- 10.6 KB
udelay.c -rw-r--r-- 1.1 KB

back to top