linux/drivers/gpu/drm/i915
Chris Wilson 1e016a8693 drm/i915: Park signaling thread while wrapping the seqno
A danger encountered when resetting the seqno (using
debugfs/i915_next_seqno) is that as we change the breadcrumb stored in
the HWSP, it may be inspected by the signaler thread leading to
confusion in our sanity checks.

<0> [136.331342] i915/sig-347     3..s1 136336154us : execlists_submission_tasklet: rcs0 awake?=1, active=5
<0> [136.331373] i915/sig-347     3d.s2 136336155us : process_csb: rcs0 cs-irq head=5, tail=0
<0> [136.331402] i915/sig-347     3d.s2 136336155us : process_csb: rcs0 csb[0]: status=0x00000018:0x00000002, active=0x5
<0> [136.331434] i915/sig-347     3d.s2 136336156us : process_csb: rcs0 out[0]: ctx=2.1, global=219 (fence 46:8455) (current 219), prio=0
<0> [136.331466] i915/sig-347     3d.s2 136336156us : process_csb: rcs0 completed ctx=2
<0> [136.332027] gem_exec-1049    0.... 136336246us : reset_all_global_seqno.part.5: rcs0 seqno 219 (current 219) -> -43
<0> [136.332056] gem_exec-1049    0.... 136336251us : reset_all_global_seqno.part.5: bcs0 seqno 183 (current 183) -> -43
<0> [136.332085] gem_exec-1049    0.... 136336255us : reset_all_global_seqno.part.5: vcs0 seqno 191 (current 191) -> -43
<0> [136.332114] gem_exec-1049    0.... 136336259us : reset_all_global_seqno.part.5: vcs1 seqno 180 (current 180) -> -43
<0> [136.332143] gem_exec-1049    0.... 136336262us : reset_all_global_seqno.part.5: vecs0 seqno 212 (current 212) -> -43
<0> [136.332174] i915/sig-347     3.... 136336280us : intel_breadcrumbs_signaler: intel_breadcrumbs_signaler:673 GEM_BUG_ON(!i915_request_completed(rq))

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181024104939.2861-1-chris@chris-wilson.co.uk
2018-10-26 12:37:13 +01:00
..
gvt drm/i915: Compare user's 64b GTT offset even on 32b 2018-10-26 09:20:05 +01:00
selftests drm/i915/selftests: Check for hangs mid context execution tests 2018-10-26 12:36:25 +01: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
i915_debugfs.c drm/i915/debugfs: hdcp capability of a sink 2018-10-24 09:33:51 +02:00
i915_drv.c drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK 2018-10-24 15:14:45 +03:00
i915_drv.h drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK 2018-10-24 15:14:45 +03:00
i915_gem.c drm/i915: Large page offsets for pread/pwrite 2018-10-15 12:52:03 +01:00
i915_gem.h drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_clflush.c
i915_gem_clflush.h
i915_gem_context.c drm/i915: Add ppgtt to GVT GEM context 2018-10-19 12:23:45 +01:00
i915_gem_context.h
i915_gem_dmabuf.c
i915_gem_evict.c
i915_gem_execbuffer.c drm/i915: Compare user's 64b GTT offset even on 32b 2018-10-26 09:20:05 +01:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Mark up GTT sizes as u64 2018-10-26 09:20:05 +01:00
i915_gem_gtt.h drm/i915: Compare user's 64b GTT offset even on 32b 2018-10-26 09:20:05 +01: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
i915_gem_tiling.c
i915_gem_userptr.c
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c
i915_gpu_error.h
i915_ioc32.c
i915_irq.c drm/i915/icl: Disable master intr before reading 2018-10-16 13:11:23 +03:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bdw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_params.c drm/i915: Ensure _print_param() builds with Clang 2018-10-17 09:55:21 +03:00
i915_params.h
i915_pci.c drm/i915/icl: Define TRANS_CONF register for DSI 2018-10-22 15:14:47 +03:00
i915_perf.c drm/i915/perf: Fix warning in documentation 2018-10-24 13:57:18 +01:00
i915_pmu.c
i915_pmu.h
i915_pvinfo.h
i915_query.c
i915_query.h
i915_reg.h drm/i915/gen11: Program the Y and UV plane for planar mode correctly, v3. 2018-10-24 10:30:15 +02:00
i915_request.c drm/i915: Park signaling thread while wrapping the seqno 2018-10-26 12:37:13 +01:00
i915_request.h
i915_scheduler.c
i915_scheduler.h
i915_selftest.h
i915_suspend.c
i915_sw_fence.c
i915_sw_fence.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c
i915_timeline.c
i915_timeline.h
i915_trace.h
i915_trace_points.c
i915_utils.h
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
i915_vma.h
icl_dsi.c drm/i915/icl: Enable DSI transcoders 2018-10-22 15:26:41 +03:00
intel_acpi.c
intel_atomic.c drm/i915/gen11: Program the scalers correctly for planar formats, v3. 2018-10-24 10:30:14 +02:00
intel_atomic_plane.c drm/i915/gen11: Link nv12 Y and UV planes in the atomic state, v5. 2018-10-24 10:29:28 +02:00
intel_audio.c drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values 2018-10-26 09:54:16 +03:00
intel_bios.c
intel_bios.h
intel_breadcrumbs.c
intel_cdclk.c
intel_color.c drm/i915: Add CRTC output format YCBCR 4:4:4 2018-10-15 16:01:50 +03:00
intel_connector.c drm/i915: rename and move intel_get_pipe_from_connector() 2018-10-17 09:36:43 +03:00
intel_crt.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_csr.c
intel_ddi.c drm/i915: compute_min_voltage_level sort platforms newer-to-older 2018-10-22 14:40:36 -07:00
intel_device_info.c drm/i915/icl: Store available engine masks in INTEL_INFO 2018-10-26 10:14:05 +01:00
intel_device_info.h drm/i915/icl: Store available engine masks in INTEL_INFO 2018-10-26 10:14:05 +01:00
intel_display.c drm/i915/gen11: Expose planar format support on gen11, v2. 2018-10-24 10:30:15 +02:00
intel_display.h drm/i915/gen11: Enable 6 sprites on gen11 2018-10-24 10:28:44 +02:00
intel_dp.c drm/i915: Move the DDC/AUX failure msgs to debug log 2018-10-24 09:34:08 +02: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-09 15:46:42 -07:00
intel_dp_mst.c drm/atomic_helper: Stop modesets on unregistered connectors harder 2018-10-17 13:50:14 -04:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915/icl: Refactor icl pll functions 2018-10-16 09:00:58 -07:00
intel_dpll_mgr.h drm/i915/icl: Refactor icl pll functions 2018-10-16 09:00:58 -07:00
intel_drv.h drm/i915/gen11: Program the scalers correctly for planar formats, v3. 2018-10-24 10:30:14 +02:00
intel_dsi.c drm/i915/dsi: abstract intel_dsi_tlpx_ns() 2018-10-22 09:31:19 +03:00
intel_dsi.h drm/i915/icl: Configure DSI transcoders 2018-10-22 09:45:16 +03:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c drm/i915/icl: Configure DSI transcoders 2018-10-22 09:45:16 +03:00
intel_dvo.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_engine_cs.c drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
intel_fbc.c
intel_fbdev.c
intel_fifo_underrun.c
intel_frontbuffer.c
intel_frontbuffer.h
intel_gpu_commands.h
intel_guc.c drm/i915/guc: Limit number of scratch registers used for H2G 2018-10-22 12:36:49 +01:00
intel_guc.h
intel_guc_ads.c
intel_guc_ads.h
intel_guc_ct.c
intel_guc_ct.h
intel_guc_fw.c drm/i915/guc: Propagate the fw xfer timeout 2018-10-23 17:12:22 +01:00
intel_guc_fw.h
intel_guc_fwif.h drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_log.c
intel_guc_log.h
intel_guc_reg.h drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_submission.c drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_submission.h
intel_gvt.c
intel_gvt.h
intel_hangcheck.c
intel_hdcp.c drm/i915: Move the DDC/AUX failure msgs to debug log 2018-10-24 09:34:08 +02:00
intel_hdmi.c drm/i915: Move the DDC/AUX failure msgs to debug log 2018-10-24 09:34:08 +02:00
intel_hotplug.c
intel_huc.c drm/i915/huc: Normalize HuC status returned by I915_PARAM_HAS_HUC 2018-10-18 10:20:08 +01:00
intel_huc.h
intel_huc_fw.c
intel_huc_fw.h
intel_i2c.c
intel_lpe_audio.c
intel_lrc.c drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
intel_lrc.h
intel_lrc_reg.h
intel_lspcon.c drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON 2018-10-15 16:03:21 +03:00
intel_lvds.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_mocs.c
intel_mocs.h
intel_opregion.c
intel_opregion.h
intel_overlay.c
intel_panel.c drm/i915: rename and move intel_get_pipe_from_connector() 2018-10-17 09:36:43 +03:00
intel_pipe_crc.c
intel_pm.c drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK 2018-10-24 15:14:45 +03:00
intel_psr.c
intel_quirks.c drm/i915/quirks: pass dev_priv instead of drm dev to quirk code 2018-10-18 13:40:13 +03:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c
intel_ringbuffer.h
intel_runtime_pm.c drm/i915: power_domains_init sort platforms newer-to-older 2018-10-22 14:40:41 -07:00
intel_sdvo.c drm/i915/sdvo: Utilize intel_panel for fixed_mode 2018-10-23 18:26:15 +03:00
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c drm/i915: Mark skl_update_plane and skl_disable_plane as static 2018-10-24 14:18:52 +01:00
intel_tv.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_uc.c drm/i915/guc: Fix Gen9 GuC loading workarounds 2018-10-17 09:08:00 +01:00
intel_uc.h
intel_uc_fw.c
intel_uc_fw.h
intel_uncore.c drm/i915: uncore_fw_domains_init sort platforms newer-to-older 2018-10-22 14:40:43 -07:00
intel_uncore.h
intel_vbt_defs.h
intel_wopcm.c
intel_wopcm.h
intel_workarounds.c drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
intel_workarounds.h
Kconfig
Kconfig.debug
Makefile drm/i915/dsi: refactor bitrate calculations in intel_dsi_vbt_init() 2018-10-18 15:15:27 +03:00
vlv_dsi.c drm/i915/icl: Make common DSI functions available 2018-10-22 09:44:12 +03:00
vlv_dsi_pll.c