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
.gitignore -rw-r--r-- 12 bytes
Makefile -rw-r--r-- 4.1 KB
asm-offsets.c -rw-r--r-- 1.4 KB
audit.c -rw-r--r-- 1.1 KB
binfmt_loader.c -rw-r--r-- 1.1 KB
console.c -rw-r--r-- 2.0 KB
core_apecs.c -rw-r--r-- 10.0 KB
core_cia.c -rw-r--r-- 32.6 KB
core_irongate.c -rw-r--r-- 10.2 KB
core_lca.c -rw-r--r-- 13.8 KB
core_marvel.c -rw-r--r-- 24.5 KB
core_mcpcia.c -rw-r--r-- 15.8 KB
core_polaris.c -rw-r--r-- 4.4 KB
core_t2.c -rw-r--r-- 16.3 KB
core_titan.c -rw-r--r-- 19.6 KB
core_tsunami.c -rw-r--r-- 12.9 KB
core_wildfire.c -rw-r--r-- 17.2 KB
entry.S -rw-r--r-- 17.6 KB
err_common.c -rw-r--r-- 7.8 KB
err_ev6.c -rw-r--r-- 7.8 KB
err_ev7.c -rw-r--r-- 8.0 KB
err_impl.h -rw-r--r-- 2.6 KB
err_marvel.c -rw-r--r-- 36.6 KB
err_titan.c -rw-r--r-- 22.9 KB
es1888.c -rw-r--r-- 1.3 KB
gct.c -rw-r--r-- 1011 bytes
head.S -rw-r--r-- 2.1 KB
io.c -rw-r--r-- 12.1 KB
irq.c -rw-r--r-- 3.0 KB
irq_alpha.c -rw-r--r-- 6.3 KB
irq_i8259.c -rw-r--r-- 3.9 KB
irq_impl.h -rw-r--r-- 1.2 KB
irq_pyxis.c -rw-r--r-- 2.2 KB
irq_srm.c -rw-r--r-- 1.3 KB
machvec_impl.h -rw-r--r-- 5.1 KB
module.c -rw-r--r-- 7.6 KB
osf_sys.c -rw-r--r-- 34.6 KB
pc873xx.c -rw-r--r-- 1.7 KB
pc873xx.h -rw-r--r-- 588 bytes
pci-noop.c -rw-r--r-- 2.8 KB
pci-sysfs.c -rw-r--r-- 9.2 KB
pci.c -rw-r--r-- 10.9 KB
pci_impl.h -rw-r--r-- 6.4 KB
pci_iommu.c -rw-r--r-- 25.0 KB
perf_event.c -rw-r--r-- 22.8 KB
process.c -rw-r--r-- 9.6 KB
proto.h -rw-r--r-- 7.0 KB
ptrace.c -rw-r--r-- 9.0 KB
rtc.c -rw-r--r-- 8.0 KB
setup.c -rw-r--r-- 38.7 KB
signal.c -rw-r--r-- 14.9 KB
smc37c669.c -rw-r--r-- 59.9 KB
smc37c93x.c -rw-r--r-- 6.2 KB
smp.c -rw-r--r-- 16.6 KB
srm_env.c -rw-r--r-- 5.7 KB
srmcons.c -rw-r--r-- 6.1 KB
sys_alcor.c -rw-r--r-- 7.5 KB
sys_cabriolet.c -rw-r--r-- 12.2 KB
sys_dp264.c -rw-r--r-- 17.1 KB
sys_eb64p.c -rw-r--r-- 5.6 KB
sys_eiger.c -rw-r--r-- 5.4 KB
sys_jensen.c -rw-r--r-- 5.5 KB
sys_marvel.c -rw-r--r-- 10.8 KB
sys_miata.c -rw-r--r-- 8.0 KB
sys_mikasa.c -rw-r--r-- 5.9 KB
sys_nautilus.c -rw-r--r-- 6.8 KB
sys_noritake.c -rw-r--r-- 9.0 KB
sys_rawhide.c -rw-r--r-- 6.4 KB
sys_ruffian.c -rw-r--r-- 5.8 KB
sys_rx164.c -rw-r--r-- 5.0 KB
sys_sable.c -rw-r--r-- 16.9 KB
sys_sio.c -rw-r--r-- 12.3 KB
sys_sx164.c -rw-r--r-- 4.5 KB
sys_takara.c -rw-r--r-- 7.9 KB
sys_titan.c -rw-r--r-- 9.3 KB
sys_wildfire.c -rw-r--r-- 8.6 KB
systbls.S -rw-r--r-- 13.2 KB
time.c -rw-r--r-- 11.7 KB
traps.c -rw-r--r-- 27.3 KB
vmlinux.lds.S -rw-r--r-- 1.4 KB

back to top