linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 0364cd19d6 drm/i915: Serialize per-engine resets against new requests
We rely on disabling the execlists (by stopping the tasklet) to prevent
new requests from submitting to the engine ELSP before we are ready.
However, we re-enable the engine before we call init_hw which gives
userspace the opportunity to subit a new request which is then
overwritten by init_hw -- but not before the HW may have started
executing. The subsequent out-of-order CSB is detected by our sanity
checks in intel_lrc_irq_handler().

Fixes: a1ef70e144 ("drm/i915: Add support for per engine reset recovery")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170721123238.16428-3-chris@chris-wilson.co.uk
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-07-27 09:38:44 +02:00
..
gvt Merge tag 'drm-intel-next-2017-07-17' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-07-20 11:31:43 +10:00
selftests drm/i915/selftests: Fix an error handling path in 'mock_gem_device()' 2017-07-20 11:50:12 +01:00
dvo_ch7xxx.c drm/i915/dvo: fix debug logging on unknown DID 2017-06-01 15:53:03 +03:00
dvo_ch7017.c drm/i915/lvds: Remove magic from PLL programming 2017-05-10 13:47:55 +03:00
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Redefine ptr_pack_bits() and friends 2017-05-17 13:38:04 +01:00
i915_debugfs.c drm/i915: Report execlists irq bit in debugfs 2017-07-27 09:38:44 +02:00
i915_drv.c drm/i915: Serialize per-engine resets against new requests 2017-07-27 09:38:44 +02:00
i915_drv.h Merge airlied/drm-next into drm-intel-next-queued 2017-07-27 09:33:49 +02:00
i915_gem_batch_pool.c drm/i915: Reinstate reservation_object zapping for batch_pool objects 2017-06-14 14:06:22 +01:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Store i915_gem_object_is_coherent() as a bit next to cache-dirty 2017-06-16 14:52:27 +01:00
i915_gem_clflush.h drm/i915: Mark up clflushes as belonging to an unordered timeline 2017-05-03 11:08:45 +01:00
i915_gem_context.c drm/i915: Only free the oldest stale context before allocating 2017-07-06 11:51:52 +01:00
i915_gem_context.h drm/i915: Enable rcu-only context lookups 2017-06-20 17:13:54 +01:00
i915_gem_dmabuf.c drm/i915: Implement dma_buf_ops->kmap 2017-05-03 23:15:02 +01:00
i915_gem_evict.c drm/i915: Eliminate lots of iterations over the execobjects array 2017-06-16 16:54:05 +01:00
i915_gem_execbuffer.c drm/i915: Fix user ptr check size in eb_relocate_vma() 2017-07-17 14:24:16 +03:00
i915_gem_fence_reg.c drm/i915: Take rpm wakelock for releasing the fence on unbind 2017-03-06 14:38:18 +00:00
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Fix the kernel panic when using aliasing ppgtt 2017-07-07 11:05:53 +01:00
i915_gem_gtt.h drm/i915: pass the vma to insert_entries 2017-06-22 16:48:50 +01:00
i915_gem_internal.c drm/i915: Store i915_gem_object_is_coherent() as a bit next to cache-dirty 2017-06-16 14:52:27 +01:00
i915_gem_object.h drm/i915: Store a direct lookup from object handle to vma 2017-06-16 16:54:04 +01:00
i915_gem_render_state.c
i915_gem_render_state.h
i915_gem_request.c drm/i915: Avoid keeping waitboost active for signaling threads 2017-06-28 15:23:12 +01:00
i915_gem_request.h Merge tag 'drm-intel-next-2017-07-17' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-07-20 11:31:43 +10:00
i915_gem_shrinker.c drm/i915: Spin for struct_mutex inside shrinker 2017-06-14 10:55:11 +01:00
i915_gem_stolen.c drm/i915: More stolen quirking 2017-07-19 14:04:03 +02:00
i915_gem_tiling.c drm/i915: Fix logical inversion for gen4 quirking 2017-06-07 16:31:34 +03:00
i915_gem_timeline.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gem_timeline.h drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[] 2017-05-03 11:08:52 +01:00
i915_gem_userptr.c drm/i915: Wait upon userptr get-user-pages within execbuffer 2017-06-16 16:54:05 +01:00
i915_gem.c Merge airlied/drm-next into drm-intel-next-queued 2017-07-27 09:33:49 +02:00
i915_gem.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gpu_error.c drm/i915: Add engine reset count to error state 2017-06-20 21:00:22 +01:00
i915_guc_reg.h
i915_guc_submission.c drm/i915: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
i915_ioc32.c
i915_irq.c Merge airlied/drm-next into drm-intel-next-queued 2017-07-27 09:33:49 +02:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_bdw.h drm/i915/perf: Add 'render basic' Gen8+ OA unit configs 2017-06-14 12:31:57 -07:00
i915_oa_bxt.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_bxt.h drm/i915/perf: Add 'render basic' Gen8+ OA unit configs 2017-06-14 12:31:57 -07:00
i915_oa_chv.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_chv.h drm/i915/perf: Add 'render basic' Gen8+ OA unit configs 2017-06-14 12:31:57 -07:00
i915_oa_glk.c drm/i915/perf: add GLK support 2017-06-14 12:31:58 -07:00
i915_oa_glk.h drm/i915/perf: add GLK support 2017-06-14 12:31:58 -07:00
i915_oa_hsw.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_hsw.h drm/i915/perf: rework mux configurations queries 2017-06-14 12:31:57 -07:00
i915_oa_kblgt2.c drm/i915/perf: add KBL support 2017-06-14 12:31:58 -07:00
i915_oa_kblgt2.h drm/i915/perf: add KBL support 2017-06-14 12:31:58 -07:00
i915_oa_kblgt3.c drm/i915/perf: add KBL support 2017-06-14 12:31:58 -07:00
i915_oa_kblgt3.h drm/i915/perf: add KBL support 2017-06-14 12:31:58 -07:00
i915_oa_sklgt2.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_sklgt2.h drm/i915/perf: Add 'render basic' Gen8+ OA unit configs 2017-06-14 12:31:57 -07:00
i915_oa_sklgt3.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_sklgt3.h drm/i915/perf: Add 'render basic' Gen8+ OA unit configs 2017-06-14 12:31:57 -07:00
i915_oa_sklgt4.c drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT 2017-06-14 12:31:57 -07:00
i915_oa_sklgt4.h drm/i915/perf: Add 'render basic' Gen8+ OA unit configs 2017-06-14 12:31:57 -07:00
i915_params.c Revert "drm/i915: Add heuristic to determine better way to adjust brightness" 2017-07-21 09:32:48 +03:00
i915_params.h Revert "drm/i915: Add heuristic to determine better way to adjust brightness" 2017-07-21 09:32:48 +03:00
i915_pci.c drm/i915/cnl: Cannonlake color init. 2017-07-06 16:18:25 -07:00
i915_perf.c drm/i915: Fix error checking/locking in perf/lookup_context() 2017-07-17 14:22:17 +03:00
i915_pvinfo.h drm/i915: Fix GVT-g PVINFO version compatibility check 2017-06-13 11:19:22 +03:00
i915_reg.h drm/i915/cnl: Get DDI clock based on PLLs. 2017-07-07 10:01:26 -07:00
i915_selftest.h
i915_suspend.c
i915_sw_fence.c main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_sw_fence.h main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_syncmap.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_syncmap.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_sysfs.c drm/i915/cnl: Inherit RPS stuff from previous platforms. 2017-07-07 09:13:35 -07:00
i915_trace_points.c
i915_trace.h drm/i915: Add g4x watermark tracepoint 2017-05-10 16:48:32 +03:00
i915_utils.h drm/i915: Store a direct lookup from object handle to vma 2017-06-16 16:54:04 +01:00
i915_vgpu.c drm/i915: Fix GVT-g PVINFO version compatibility check 2017-06-13 11:19:22 +03:00
i915_vgpu.h
i915_vma.c main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_vma.h drm/i915: Stash a pointer to the obj's resv in the vma 2017-06-16 16:54:05 +01:00
intel_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
intel_atomic_plane.c drm/i915/skl+: Check for supported plane configuration in Interlace mode 2017-07-04 16:52:30 +03:00
intel_atomic.c drm/i915/cnl: Fix Cannonlake scaler mode programing. 2017-06-12 09:45:55 -07:00
intel_audio.c drm/i915: Reorganize intel_lpe_audio_notify() arguments 2017-05-03 16:20:48 +03:00
intel_bios.c drm/i915/cnl: Don't trust VBT's alternate pin for port D for now. 2017-07-07 09:11:46 -07:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Skip adding the request to the signal tree is complete 2017-06-08 12:33:08 +01:00
intel_cdclk.c drm/i915: reintroduce VLV/CHV PFI programming power domain workaround 2017-07-03 16:12:44 +03:00
intel_color.c drm/i915/cnl: Cannonlake color init. 2017-07-06 16:18:25 -07:00
intel_crt.c drm/i915: Convert intel_crt connector properties to atomic. 2017-04-12 10:53:22 +02:00
intel_csr.c drm/i915: Use HAS_CSR instead of gen number on DMC load. 2017-06-12 09:45:30 -07:00
intel_ddi.c drm/i915/cnl: Add missing type case. 2017-07-11 07:04:13 -07:00
intel_device_info.c drm/i915: Use HAS_PCH_CPT() everywhere 2017-06-22 19:08:34 +03:00
intel_display.c Merge airlied/drm-next into drm-intel-next-queued 2017-07-27 09:33:49 +02:00
intel_dp_aux_backlight.c Revert "drm/i915: Add heuristic to determine better way to adjust brightness" 2017-07-21 09:32:48 +03:00
intel_dp_link_training.c drm/i915: Explicit the connector name for DP link training result 2017-07-19 08:32:42 +02:00
intel_dp_mst.c drm/i915: Drop FBDEV #ifdev in mst code 2017-07-06 10:00:33 +02:00
intel_dp.c main drm pull for v4.13 2017-07-10 21:56:39 +02:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915/cnl: make function cnl_ddi_dp_set_dpll_hw_state static 2017-06-15 15:53:56 +03:00
intel_dpll_mgr.h drm/i915/cnl: Initialize PLLs 2017-06-12 09:42:18 -07:00
intel_drv.h drm/i915: Drop unpin stall in atomic_prepare_commit 2017-07-20 22:45:42 +02:00
intel_dsi_dcs_backlight.c drm/i915: Pass atomic state to backlight enable/disable/set callbacks. 2017-06-12 16:06:28 +02:00
intel_dsi_pll.c
intel_dsi_vbt.c drm/i915/glk: Calculate high/low switch count for GLK 2017-05-15 18:29:46 +03:00
intel_dsi.c drm/i915/glk: Add cold boot sequence for GLK DSI 2017-06-15 23:03:57 +03:00
intel_dsi.h drm/i915/dsi: arrange intel_dsi.h according to relevant files 2017-03-07 15:18:43 +02:00
intel_dvo.c drm/i915: Convert intel DVO connector to atomic 2017-04-12 10:53:29 +02:00
intel_engine_cs.c drm/i915/cnl: Gen10 render context size. 2017-07-07 09:12:16 -07:00
intel_fbc.c Linux 4.12-rc5 2017-06-16 13:58:27 +10:00
intel_fbdev.c Merge airlied/drm-next into drm-intel-next-queued 2017-07-27 09:33:49 +02:00
intel_fifo_underrun.c drm/i915: Consistently use enum pipe for PCH transcoders 2017-07-18 08:39:03 +02:00
intel_frontbuffer.c
intel_frontbuffer.h
intel_guc_ct.c drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_ct.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_fwif.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_loader.c drm/i915/guc: Load GuC on Coffee Lake 2017-06-09 11:56:53 -07:00
intel_guc_log.c drm/i915: Treat WC a separate cache domain 2017-04-12 12:35:17 +01:00
intel_gvt.c drm/i915/gvt: Return -EIO if host GuC submission is enabled when loading GVT-g 2017-05-30 16:00:07 +03:00
intel_gvt.h drm/i915/gvt: Add gvt options sanitize function 2017-05-30 15:59:47 +03:00
intel_hangcheck.c drm/i915: Avoid format string expansion from engine names 2017-04-19 15:49:27 +03:00
intel_hdmi.c drm: handle HDMI 2.0 VICs in AVI info-frames 2017-07-14 21:23:54 +03:00
intel_hotplug.c drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. 2017-04-06 21:29:23 +02:00
intel_huc.c drm/i915/huc: Load HuC on Coffee Lake 2017-06-09 11:57:16 -07:00
intel_i2c.c drm/i915/cnp: add CNP gmbus support 2017-06-02 13:59:32 -07:00
intel_lpe_audio.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
intel_lrc.c drm/i915: Group all the global context information together 2017-06-20 17:13:40 +01:00
intel_lrc.h drm/i915: Sanitize engine context sizes 2017-04-28 12:11:59 +03:00
intel_lspcon.c drm/i915: use drm DP helper to read DPCD desc 2017-05-29 13:37:46 +03:00
intel_lvds.c drm/i915: Pass crtc_state and connector state to backlight enable/disable functions 2017-06-12 16:05:45 +02:00
intel_mocs.c drm/i915/cnl: Cannonlake has same MOCS table than Skylake. 2017-06-07 07:29:51 -07:00
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915: Pass connector state to intel_panel_set_backlight_acpi 2017-06-12 16:06:10 +02:00
intel_overlay.c drm/i915: Remove pipe A quirk remnants 2017-06-15 15:38:27 +03:00
intel_panel.c drm/i915: Pass atomic state to backlight enable/disable/set callbacks. 2017-06-12 16:06:28 +02:00
intel_pipe_crc.c drm/i915: use memdup_user_nul 2017-05-08 09:28:39 +02:00
intel_pm.c drm/i915: Fix bad comparison in skl_compute_plane_wm, v2. 2017-07-19 13:51:58 +02:00
intel_psr.c drm/i915/psr: disable psr2 for resolution greater than 32X20 2017-06-07 16:31:06 +03: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: Do not re-calculate num_rings locally 2017-06-20 12:42:13 +01:00
intel_ringbuffer.h drm/i915: Look for active requests earlier in the reset path 2017-06-20 21:00:03 +01:00
intel_runtime_pm.c drm/i915/cnl: Add max allowed Cannonlake DC. 2017-07-10 12:12:20 -07:00
intel_sdvo_regs.h
intel_sdvo.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
intel_sideband.c
intel_sprite.c drm/i915: Remove intel_flip_work infrastructure 2017-07-20 22:45:36 +02:00
intel_tv.c drm/i915: Convert intel_tv connector properties to atomic, v5. 2017-04-12 10:53:22 +02:00
intel_uc.c drm/i915/guc: Clear enable_guc_loading in case of init failure 2017-06-08 12:21:19 +03:00
intel_uc.h Linux 4.12-rc5 2017-06-16 13:58:27 +10:00
intel_uncore.c drm/i915/cnl: Add force wake for gen10+. 2017-07-06 13:22:37 -07:00
intel_uncore.h drm/i915: Keep the forcewake timer alive for 1ms past the most recent use 2017-05-26 15:58:21 +01:00
intel_vbt_defs.h
Kconfig drm/i915: select CRC32 2017-06-21 11:13:27 +02:00
Kconfig.debug Merge tag 'drm-intel-next-2017-05-29' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-05-30 15:25:28 +10:00
Makefile drm/i915/perf: add GLK support 2017-06-14 12:31:58 -07:00