linux-stable/drivers/gpu/drm/i915
Chris Wilson e3818697e1 drm/i915: Flush untouched framebuffers before display on !llc
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: a6a7cc4b7d ("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 69aeafeae9)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2017-02-08 13:10:24 +02:00
..
gvt drm/i915/gvt: Fix kmem_cache_create() name 2017-01-25 10:28:34 +08:00
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: Refactor object page API 2016-10-28 20:53:46 +01:00
i915_debugfs.c Merge tag 'drm-intel-next-fixes-2016-12-07' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2016-12-08 10:33:26 +10:00
i915_drv.c drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend() 2017-01-25 12:42:36 +02:00
i915_drv.h drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
i915_gem.c drm/i915: Flush untouched framebuffers before display on !llc 2017-02-08 13:10:24 +02:00
i915_gem.h drm/i915: avoid harmless empty-body warning 2016-11-08 17:33:47 +01:00
i915_gem_batch_pool.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Store the execution priority on the context 2016-11-14 21:01:22 +00:00
i915_gem_dmabuf.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
i915_gem_evict.c drm/i915: Clear ret before unbinding in i915_gem_evict_something() 2017-01-12 10:15:44 +02:00
i915_gem_execbuffer.c drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
i915_gem_fence_reg.c drm/i915: Use dev_priv in INTEL_INFO in i915_gem_fence_reg.c 2016-11-17 13:56:06 +00:00
i915_gem_fence_reg.h drm/i915: Split out i915_vma.c 2016-11-11 14:34:54 +02:00
i915_gem_gtt.c drm/i915: add i915_address_space_fini 2016-11-17 21:05:36 +00:00
i915_gem_gtt.h drm/i915: dev_priv cleanup in i915_gem_gtt.c 2016-11-17 13:56:12 +00:00
i915_gem_internal.c drm/i915: Allow shrinking of userptr objects once again 2016-11-01 16:35:26 +00:00
i915_gem_object.h drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
i915_gem_render_state.c drm/i915: Introduce HAS_64BIT_RELOC 2016-11-03 12:45:57 +02:00
i915_gem_render_state.h drm/i915: Reuse the active golden render state batch 2016-10-28 20:53:44 +01:00
i915_gem_request.c Main pull request for drm for 4.10 kernel 2016-12-13 09:35:09 -08:00
i915_gem_request.h drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff 2017-01-03 11:41:17 +02:00
i915_gem_shrinker.c Main pull request for drm for 4.10 kernel 2016-12-13 09:35:09 -08:00
i915_gem_stolen.c drm/i915: skip the first 4k of stolen memory on everything >= gen8 2016-12-20 16:30:55 +02:00
i915_gem_tiling.c drm/i915: dev_priv cleanup in i915_gem_tiling.c 2016-11-17 13:56:20 +00:00
i915_gem_timeline.c drm/i915: Create distinct lockclasses for execution vs user timelines 2016-11-14 21:00:21 +00:00
i915_gem_timeline.h drm/i915: Create distinct lockclasses for execution vs user timelines 2016-11-14 21:00:21 +00:00
i915_gem_userptr.c mm: add locked parameter to get_user_pages_remote() 2016-12-14 16:04:08 -08:00
i915_gpu_error.c drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
i915_guc_reg.h drm/i915/guc: general tidying up (loader) 2016-09-15 10:56:02 +01:00
i915_guc_submission.c drm/i915/scheduler: Execute requests in order of priorities 2016-11-14 21:01:21 +00:00
i915_ioc32.c
i915_irq.c drm/i915: dev_priv cleanup in i915_irq.c 2016-11-17 13:56:28 +00:00
i915_memcpy.c
i915_mm.c
i915_params.c drm/i915: rename preliminary_hw_support to alpha_support 2016-11-14 15:33:27 +02:00
i915_params.h drm/i915: rename preliminary_hw_support to alpha_support 2016-11-14 15:33:27 +02:00
i915_pci.c drm/i915/bxt: Broxton decoupled MMIO 2016-11-16 09:33:10 +00:00
i915_pvinfo.h
i915_reg.h drm/i915/bxt: Broxton decoupled MMIO 2016-11-16 09:33:10 +00:00
i915_suspend.c drm/i915: dev_priv cleanup in i915_suspend.c 2016-11-17 13:56:31 +00:00
i915_sw_fence.c drm/i915: Give each sw_fence its own lockclass 2016-11-14 21:00:20 +00:00
i915_sw_fence.h drm/i915: Hold a reference on the request for its fence chain 2016-12-05 11:00:32 +02:00
i915_sysfs.c drm/i915: Fix setting of boost freq tunable 2016-12-20 16:29:48 +02:00
i915_trace.h drm/i915: Introduce a global_seqno for each request 2016-10-28 20:53:53 +01:00
i915_trace_points.c
i915_vgpu.c Merge tag 'drm-intel-next-2016-09-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-09-20 06:23:22 +10:00
i915_vgpu.h
i915_vma.c drm/i915: reinstate call to trace_i915_vma_bind 2017-01-25 12:57:22 +02:00
i915_vma.h drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
intel_acpi.c
intel_atomic.c
intel_atomic_plane.c drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_audio.c drm/i915/audio: fix hdmi audio noise issue 2016-12-05 11:00:31 +02:00
intel_bios.c drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's no AUX ch specified in the VBT 2016-11-16 10:06:14 +02:00
intel_bios.h drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET 2016-12-20 16:28:25 +02:00
intel_breadcrumbs.c drm/i915: Spin until breadcrumb threads are complete 2016-11-09 15:01:52 +00:00
intel_color.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_crt.c drm/i915: Don't leak edid in intel_crt_detect_ddc() 2017-01-25 12:42:30 +02:00
intel_csr.c drm/i915/DMC/KBL: Load DMC on KBL using the no_stepping_info array 2016-10-26 14:20:53 -07:00
intel_ddi.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_device_info.c drm/i915: Don't try to initialize sprite planes on pre-ilk 2016-10-31 16:56:32 +02:00
intel_display.c drm/i915: fix use-after-free in page_flip_completed() 2017-02-08 13:09:24 +02:00
intel_dp.c drm/i915: Force VDD off on the new power seqeuencer before starting to use it 2017-01-03 11:36:11 +02:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915/skl: drop workarounds for A0 and B0 revisions 2016-09-26 12:08:22 +03:00
intel_dp_mst.c drm/i915: Kill dp_encoder_is_mst 2016-11-14 20:27:54 +02:00
intel_dpio_phy.c drm/i915/bxt: Don't set OCL2_LDOFUSE_PWR_DIS bit in phy init sequence 2016-11-02 09:35:47 +02:00
intel_dpll_mgr.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_dpll_mgr.h drm/i915/dp: Add a standalone function to obtain shared dpll for HSW/BDW/SKL/BXT 2016-09-09 14:53:18 -07:00
intel_drv.h drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_dsi.c drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
intel_dsi.h
intel_dsi_dcs_backlight.c
intel_dsi_panel_vbt.c drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting 2016-12-20 16:28:38 +02:00
intel_dsi_pll.c drm/i915: Make IS_BROXTON only take dev_priv 2016-10-14 12:23:19 +01:00
intel_dvo.c drm/i915: Pass dev_priv to intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_engine_cs.c drm/i915/scheduler: Execute requests in order of priorities 2016-11-14 21:01:21 +00:00
intel_fbc.c drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_fbdev.c drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_fifo_underrun.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_frontbuffer.c
intel_frontbuffer.h drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
intel_guc.h drm/i915/guc: Cache the client mapping 2016-11-03 19:57:43 +00:00
intel_guc_fwif.h drm/i915: Increase GuC log buffer size to reduce flush interrupts 2016-10-25 09:34:23 +01:00
intel_guc_loader.c drm/i915: Further assorted dev_priv cleanups 2016-11-11 14:58:26 +00:00
intel_gvt.c Documentation/gpu: Add section for Intel GVT-g host support 2016-10-20 17:18:39 +08:00
intel_gvt.h drm/i915/gvt: clean up intel_gvt.h as interface for i915 core 2016-10-20 17:18:30 +08:00
intel_hangcheck.c drm/i915: Move hangcheck code out from i915_irq.c 2016-11-02 11:59:10 +02:00
intel_hdmi.c drm/i915: Pass atomic state to intel_audio_codec_enable, v2. 2016-11-09 13:55:05 +01:00
intel_hotplug.c drm/i915: More assorted dev_priv cleanups 2016-11-11 14:58:26 +00:00
intel_i2c.c drm/i915: GMBUS don't need no forcewake 2016-10-17 14:26:42 +03:00
intel_lrc.c drm/i915: Remove WaDisableLSQCROPERFforOCL KBL workaround. 2017-01-18 16:31:11 +02:00
intel_lrc.h drm/i915: Make sure engines are idle during GPU idling in LR mode 2016-11-07 14:48:05 +02:00
intel_lspcon.c drm/i915/lspcon: Add workaround for resuming in PCON mode 2016-10-26 12:41:01 +03:00
intel_lvds.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_mocs.c
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915/opregion: fill in the CADL from connector list, not DIDL 2016-11-17 12:45:59 +02:00
intel_overlay.c drm/i915: Fix oops in overlay due to frontbuffer tracking 2017-01-03 11:41:28 +02:00
intel_panel.c drm/i915: Introduce enableddisabled helper 2016-11-17 15:00:36 +00:00
intel_pm.c Merge tag 'drm-intel-next-fixes-2016-12-22' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes 2016-12-23 05:28:02 +10:00
intel_psr.c drm/i915: disable PSR by default on HSW/BDW 2016-12-20 16:30:09 +02:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915: Remove WaDisableLSQCROPERFforOCL KBL workaround. 2017-01-18 16:31:11 +02:00
intel_ringbuffer.h drm/i915/scheduler: Execute requests in order of priorities 2016-11-14 21:01:21 +00:00
intel_runtime_pm.c drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating 2016-12-20 16:27:46 +02:00
intel_sdvo.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
intel_tv.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_uncore.c ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
intel_vbt_defs.h drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's no AUX ch specified in the VBT 2016-11-16 10:06:14 +02:00
Kconfig drm/i915/gvt/kvmgt: add vfio/mdev support to KVMGT 2016-12-16 16:55:26 +08:00
Kconfig.debug drm/i915: Restrict DRM_DEBUG_MM automatic selection 2016-11-09 02:13:48 +01:00
Makefile drm/i915: Split out i915_vma.c 2016-11-11 14:34:54 +02:00