android_kernel_oneplus_msm8998/drivers/gpu/drm
Chris Wilson f0a1fb10e5 drm/i915: Insert a command barrier on BLT/BSD cache flushes
This looked like an odd regression from

commit ec5cc0f9b0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 12 10:28:55 2014 +0100

    drm/i915: Restrict GPU boost to the RCS engine

but in reality it undercovered a much older coherency bug. The issue that
boosting the GPU frequency on the BCS ring was masking was that we could
wake the CPU up after completion of a BCS batch and inspect memory prior
to the write cache being fully evicted. In order to serialise the
breadcrumb interrupt (and so ensure that the CPU's view of memory is
coherent) we need to perform a post-sync operation in the MI_FLUSH_DW.

v2: Fix all the MI_FLUSH_DW (bsd plus the duplication in execlists).

Also fix the invalidate_domains mask in gen8_emit_flush() for ring !=
VCS.

Testcase: gpuX-rcs-gpu-read-after-write
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org
Acked-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-02-09 20:03:15 +02:00
..
amd drm/amdkfd: change amdkfd version to 0.7.1 2015-01-22 17:53:03 +02:00
armada Merge tag 'topic/core-stuff-2014-12-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:13:41 +10:00
ast drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
atmel-hlcdc drm: add Atmel HLCDC Display Controller support 2015-01-21 09:46:02 +01:00
bochs drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
bridge imx-drm: encoder prepare/mode_set must use adjusted mode 2015-01-07 19:15:03 +01:00
cirrus drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
exynos Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next 2015-01-27 09:38:29 +10:00
gma500 drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
i2c drm: adv7511: Remove interlaced mode check 2014-12-23 12:01:47 +02:00
i810
i915 drm/i915: Insert a command barrier on BLT/BSD cache flushes 2015-02-09 20:03:15 +02:00
imx imx-drm: core: handling of DI clock flags to ipu_crtc_mode_set() 2015-01-07 21:32:07 +01:00
mga
mgag200 drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
msm drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
nouveau Merge tag 'topic/core-stuff-2015-01-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-27 08:54:11 +10:00
omapdrm drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
panel drm: panel: simple-panel: add bus format information for foxlink panel 2015-01-21 09:45:56 +01:00
qxl drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
r128
radeon Merge branch 'drm-next-3.20' of git://people.freedesktop.org/~agd5f/linux into drm-next 2015-01-27 09:39:58 +10:00
rcar-du Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next 2015-01-21 10:16:24 +10:00
rockchip Merge branch 'drm-next' of https://github.com/markyzq/kernel-drm-rockchip into drm-next 2015-01-27 10:05:44 +10:00
savage
shmobile Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-12-15 15:52:01 -08:00
sis
sti Merge branch 'drm-sti-next-add-dvo' of git://git.linaro.org/people/benjamin.gaignard/kernel into drm-next 2015-01-22 09:59:25 +10:00
tdfx
tegra Merge tag 'topic/core-stuff-2014-12-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:13:41 +10:00
tilcdc Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-12-15 15:52:01 -08:00
ttm drm/ttm: optionally move duplicates to a separate list 2014-12-03 18:26:52 -05:00
udl drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
via
vmwgfx drm/ttm: optionally move duplicates to a separate list 2014-12-03 18:26:52 -05:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm: Add rotation value to plane state 2015-01-27 18:48:53 +10:00
drm_atomic_helper.c drm/atomic: atomic_check functions 2015-01-05 13:55:27 +01:00
drm_auth.c
drm_bufs.c
drm_cache.c drm/cache: Use wbinvd helpers 2014-12-16 08:56:55 +01:00
drm_context.c
drm_crtc.c drm: fix drm_display_info_set_bus_formats kernel doc header 2015-01-27 09:11:59 +10:00
drm_crtc_helper.c drm/atomic: Introduce state->obj backpointers 2014-12-17 20:23:23 +01:00
drm_crtc_internal.h drm/atomic: Hide drm.ko internal interfaces 2015-01-05 13:55:30 +01:00
drm_debugfs.c
drm_dma.c
drm_dp_helper.c drm/dp: retry AUX transactions 32 times (v1.1) 2014-12-09 09:56:44 +10:00
drm_dp_mst_topology.c drm/tile: expose the tile property to userspace (v3) 2014-12-09 09:56:48 +10:00
drm_drv.c drm: add atomic properties 2015-01-05 13:54:38 +01:00
drm_edid.c Merge tag 'topic/core-stuff-2014-12-10' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-12-11 10:12:57 +10:00
drm_edid_load.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c Merge tag 'topic/core-stuff-2015-01-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-27 08:54:11 +10:00
drm_flip_work.c
drm_fops.c drm: Make drm_read() more robust against multithreaded races 2015-01-21 14:57:03 +01:00
drm_gem.c
drm_gem_cma_helper.c
drm_global.c
drm_hashtab.c
drm_info.c drm/info: Remove unused code 2014-12-16 18:44:34 +01:00
drm_internal.h drm/info: Remove unused code 2014-12-16 18:44:34 +01:00
drm_ioc32.c
drm_ioctl.c drm: Ensure universal_planes is set for atomic 2015-01-05 13:55:30 +01:00
drm_irq.c Merge tag 'topic/core-stuff-2014-12-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:13:41 +10:00
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_modes.c imx-drm mode fixup support, imx-hdmi bridge conversion and imx-drm cleanup 2015-01-21 10:17:16 +10:00
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_pci.c
drm_plane_helper.c Merge branch 'topic/core-stuff' into topic/atomic-core 2014-12-17 20:24:02 +01:00
drm_platform.c
drm_prime.c
drm_probe_helper.c drm/probe-helper: clamp unknown connector status in the poll work 2015-01-22 06:11:39 +01:00
drm_rect.c
drm_scatter.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vm.c
drm_vma_manager.c
Kconfig drm/radeon: make MMU_NOTIFIER optional 2015-01-22 10:42:21 -05:00
Makefile Merge remote-tracking branch 'origin/master' into drm-next 2015-01-22 10:44:41 +10:00