linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson cf66b8a0ba drm/i915/execlists: Apply a full mb before execution for Braswell
Braswell is really picky about having our writes posted to memory before
we execute or else the GPU may see stale values. A wmb() is insufficient
as it only ensures the writes are visible to other cores, we need a full
mb() to ensure the writes are in memory and visible to the GPU.

The most frequent failure in flushing before execution is that we see
stale PTE values and execute the wrong pages.

References: 987abd5c62 ("drm/i915/execlists: Force write serialisation into context image vs execution")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181206084431.9805-3-chris@chris-wilson.co.uk
(cherry picked from commit 490b8c65b9)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2018-12-12 09:06:14 +02:00
..
gvt Merge tag 'gvt-fixes-2018-12-04' of https://github.com/intel/gvt-linux into drm-intel-fixes 2018-12-05 15:51:47 +02:00
selftests drm/i915: Mark up GTT sizes as u64 2018-11-06 17:17:14 +02:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c
i915_debugfs.c drm/i915: Only reset seqno if actually idle 2018-10-17 18:23:43 -07:00
i915_drv.c drm/i915: Record GT workarounds in a list 2018-12-05 13:50:11 +02:00
i915_drv.h drm/i915: Record GT workarounds in a list 2018-12-05 13:50:11 +02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Remove unecessary dma_fence_ops 2018-08-17 11:22:15 +02:00
i915_gem_clflush.h
i915_gem_context.c drm/i915: Nuke struct_mutex from context_setparam 2018-09-11 20:42:56 +01:00
i915_gem_context.h drm/i915: Nuke struct_mutex from context_setparam 2018-09-11 20:42:56 +01:00
i915_gem_dmabuf.c
i915_gem_evict.c
i915_gem_execbuffer.c drm/i915: Write GPU relocs harder with gen3 2018-11-21 09:32:08 +02:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture 2018-11-20 10:09:27 +02:00
i915_gem_gtt.h drm/i915: Mark pin flags as u64 2018-11-06 17:17:50 +02:00
i915_gem_internal.c
i915_gem_object.c
i915_gem_object.h
i915_gem_render_state.c
i915_gem_render_state.h
i915_gem_shrinker.c
i915_gem_stolen.c drm/i915: pass dev_priv to i915_gem_cleanup_stolen 2018-09-20 16:43:17 +01:00
i915_gem_tiling.c
i915_gem_userptr.c mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
i915_gem.c drm/i915: Record GT workarounds in a list 2018-12-05 13:50:11 +02:00
i915_gem.h drm/i915/execlists: Flush tasklet directly from reset-finish 2018-08-29 13:49:08 +01:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture 2018-11-20 10:09:27 +02:00
i915_gpu_error.h drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture 2018-11-20 10:09:27 +02:00
i915_ioc32.c
i915_irq.c drm pull for 4.20-rc1 2018-10-28 17:49:53 -07:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c
i915_oa_bdw.h
i915_oa_bxt.c
i915_oa_bxt.h
i915_oa_cflgt2.c
i915_oa_cflgt2.h
i915_oa_cflgt3.c
i915_oa_cflgt3.h
i915_oa_chv.c
i915_oa_chv.h
i915_oa_cnl.c
i915_oa_cnl.h
i915_oa_glk.c
i915_oa_glk.h
i915_oa_hsw.c
i915_oa_hsw.h
i915_oa_icl.c
i915_oa_icl.h
i915_oa_kblgt2.c
i915_oa_kblgt2.h
i915_oa_kblgt3.c
i915_oa_kblgt3.h
i915_oa_sklgt2.c
i915_oa_sklgt2.h
i915_oa_sklgt3.c
i915_oa_sklgt3.h
i915_oa_sklgt4.c
i915_oa_sklgt4.h
i915_params.c
i915_params.h
i915_pci.c drm/i915: Do not redefine the has_csr parameter. 2018-10-01 10:18:41 -07:00
i915_perf.c drm/i915/execlists: Use coherent writes into the context image 2018-09-14 14:23:34 +01:00
i915_pmu.c drm pull for 4.19-rc1 2018-08-15 17:39:07 -07:00
i915_pmu.h
i915_pvinfo.h
i915_query.c
i915_query.h
i915_reg.h drm/i915/icl: Fix the macros for DFLEXDPMLE register bits 2018-11-06 17:17:42 +02:00
i915_request.c drm/i915: Limit the backpressure for i915_request allocation 2018-09-14 11:54:59 +01:00
i915_request.h drm/i915: Limit the backpressure for i915_request allocation 2018-09-14 11:54:59 +01:00
i915_scheduler.h
i915_selftest.h
i915_suspend.c
i915_sw_fence.c drm/i915: Include fence-hint for timeout warning 2018-09-14 14:28:32 +01:00
i915_sw_fence.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c
i915_timeline.c
i915_timeline.h
i915_trace_points.c
i915_trace.h
i915_utils.h include/linux/compiler*.h: make compiler-*.h mutually exclusive 2018-08-22 17:31:34 -07:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Stop holding a ref to the ppgtt from each vma 2018-08-29 14:11:53 -07:00
i915_vma.h drm/i915: Fix gtt_view asserts 2018-08-28 18:49:33 +03:00
icl_dsi.c
intel_acpi.c
intel_atomic_plane.c drm/i915: Move chv rotation checks to plane->check() 2018-09-12 18:03:57 +03:00
intel_atomic.c
intel_audio.c drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values 2018-11-06 17:17:09 +02:00
intel_bios.c
intel_bios.h
intel_breadcrumbs.c drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
intel_cdclk.c drm/i915/glk: Remove 99% limitation. 2018-11-06 17:17:26 +02:00
intel_color.c
intel_crt.c
intel_csr.c firmware/dmc/icl: Add missing MODULE_FIRMWARE() for Icelake. 2018-10-18 10:36:10 +03:00
intel_ddi.c drm/i915/icl: Fix DDI/TC port clk_off bits 2018-10-18 10:26:25 +03:00
intel_device_info.c drm/i915: fix broadwell EU computation 2018-11-14 13:17:33 +02:00
intel_device_info.h drm/i915: kill resource streamer support 2018-08-06 17:19:51 +01:00
intel_display.c drm/i915: Add rotation readout for plane initial config 2018-11-21 14:30:58 +02:00
intel_display.h drm-misc-next for 4.20: 2018-09-20 10:15:05 +10:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit panel's native mode 2018-10-17 18:23:59 -07:00
intel_dp_mst.c drm/i915: Fix possible race in intel_dp_add_mst_connector() 2018-11-12 17:07:12 +02:00
intel_dp.c drm/i915/dp: Restrict link retrain workaround to external monitors 2018-10-24 13:48:12 +03:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915: Fix ICL+ HDMI clock readout 2018-09-04 16:15:49 +03:00
intel_dpll_mgr.h drm/i915: Fix ICL+ HDMI clock readout 2018-09-04 16:15:49 +03:00
intel_drv.h drm/i915: Add rotation readout for plane initial config 2018-11-21 14:30:58 +02:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c
intel_dsi.h
intel_dvo.c
intel_engine_cs.c drm/i915: Introduce per-engine workarounds 2018-12-05 13:50:24 +02:00
intel_fbc.c drm/i915: Rename the plane_state->main/aux to plane_state->color_plane[] 2018-09-12 17:50:31 +03:00
intel_fbdev.c drm/i915: Store ggtt_view in plane_state 2018-09-12 17:54:21 +03:00
intel_fifo_underrun.c
intel_frontbuffer.c
intel_frontbuffer.h
intel_gpu_commands.h
intel_guc_ads.c
intel_guc_ads.h
intel_guc_ct.c
intel_guc_ct.h
intel_guc_fw.c
intel_guc_fw.h
intel_guc_fwif.h drm/i915/selftests: ring all doorbells in igt_guc_doorbells 2018-08-28 13:41:27 +01:00
intel_guc_log.c
intel_guc_log.h
intel_guc_reg.h
intel_guc_submission.c drm/i915/guc: Restore preempt-context across S3/S4 2018-09-20 12:51:42 +01:00
intel_guc_submission.h drm/i915/selftests: ring all doorbells in igt_guc_doorbells 2018-08-28 13:41:27 +01:00
intel_guc.c drm/i915/guc: Move the pin bias value from GuC to GGTT 2018-07-27 16:03:41 +01:00
intel_guc.h drm/i915/guc: Move the pin bias value from GuC to GGTT 2018-07-27 16:03:41 +01:00
intel_gvt.c
intel_gvt.h
intel_hangcheck.c drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
intel_hdcp.c drm/i915: Constify power well descriptors 2018-08-08 13:49:43 +03:00
intel_hdmi.c Merge tag 'drm-intel-next-2018-09-06-2' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2018-09-11 11:53:12 +10:00
intel_hotplug.c drm/i915: Fix hpd handling for pins with two encoders 2018-11-12 17:07:12 +02:00
intel_huc_fw.c
intel_huc_fw.h
intel_huc.c drm/i915/guc: Move the pin bias value from GuC to GGTT 2018-07-27 16:03:41 +01:00
intel_huc.h
intel_i2c.c drm/i915: remove confusing GPIO vs PCH_GPIO 2018-08-16 11:52:08 -07:00
intel_lpe_audio.c drm/i915: Don't oops during modeset shutdown after lpe audio deinit 2018-11-06 17:18:01 +02:00
intel_lrc_reg.h drm/i915/execlists: Terminate the context image with BB_END 2018-08-01 17:03:31 +01:00
intel_lrc.c drm/i915/execlists: Apply a full mb before execution for Braswell 2018-12-12 09:06:14 +02:00
intel_lrc.h drm/i915: Remove superfluous GEN8_LR_CONTEXT_ALIGN 2018-07-27 11:30:42 +01:00
intel_lspcon.c drm/i915: Increase LSPCON timeout 2018-08-29 14:11:53 -07:00
intel_lvds.c
intel_mocs.c drm/i915: Remove useless error return from intel_init_mocs_engine() 2018-08-15 23:25:43 +01:00
intel_mocs.h drm/i915: Remove useless error return from intel_init_mocs_engine() 2018-08-15 23:25:43 +01:00
intel_modes.c
intel_opregion.c
intel_opregion.h
intel_overlay.c drm/i915/overlay: Allocate physical registers from stolen 2018-09-11 08:24:03 -07:00
intel_panel.c
intel_pipe_crc.c Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
intel_pm.c drm/i915: Disable LP3 watermarks on all SNB machines 2018-11-19 13:44:31 +02:00
intel_psr.c drm/i915: Be defensive and don't assume PSR has any commit to sync against 2018-09-04 21:21:50 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5 2018-11-12 17:07:12 +02:00
intel_ringbuffer.h drm/i915: Introduce per-engine workarounds 2018-12-05 13:50:24 +02:00
intel_runtime_pm.c drm/i915/icl: Drop spurious register read from icl_dbuf_slices_update 2018-11-14 13:17:45 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915/sdvo: Fix multi function encoder stuff 2018-09-18 21:05:06 +03:00
intel_sideband.c
intel_sprite.c drm/i915: Account for scale factor when calculating initial phase 2018-11-15 13:57:20 +02:00
intel_tv.c
intel_uc_fw.c drm/i915/guc: Move the pin bias value from GuC to GGTT 2018-07-27 16:03:41 +01:00
intel_uc_fw.h
intel_uc.c drm/i915/guc: Update GuC power domain states 2018-09-10 20:31:55 +01:00
intel_uc.h
intel_uncore.c drm/i915: Pull intel_uncore_arm_unclaimed_mmio_detection() under the spinlock 2018-09-04 16:01:14 +01:00
intel_uncore.h drm/i915: Restore user forcewake domains across suspend 2018-08-15 13:41:05 -07:00
intel_vbt_defs.h
intel_wopcm.c drm/i915: Add a fault injection point to WOPCM init 2018-07-27 16:07:45 +01:00
intel_wopcm.h
intel_workarounds.c drm/i915: Introduce per-engine workarounds 2018-12-05 13:50:24 +02:00
intel_workarounds.h drm/i915: Introduce per-engine workarounds 2018-12-05 13:50:24 +02:00
Kconfig - New Drivers 2018-08-20 15:38:44 -07:00
Kconfig.debug drm/i915: Verify power domains after enabling them 2018-08-20 12:13:09 +03:00
Makefile Makefile: Globally enable VLA warning 2018-10-11 08:17:50 -07:00
vlv_dsi_pll.c
vlv_dsi.c