kernel-ark/drivers/gpu/drm/i915
Mika Kuoppala f4e60c5cfb drm/i915: Force reset on unready engine
If engine reports that it is not ready for reset, we
give up. Evidence shows that forcing a per engine reset
on an engine which is not reporting to be ready for reset,
can bring it back into a working order. There is risk that
we corrupt the context image currently executing on that
engine. But that is a risk worth taking as if we unblock
the engine, we prevent a whole device wedging in a case
of full gpu reset.

Reset individual engine even if it reports that it is not
prepared for reset, but only if we aim for full gpu reset
and not on first reset attempt.

v2: force reset only on later attempts, readability (Chris)
v3: simplify with adequate caffeine levels (Chris)
v4: comment about risks and migitations (Chris)

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180813130116.7250-1-mika.kuoppala@linux.intel.com
2018-08-13 17:00:00 +03:00
..
gvt drm/i915/ddi: Use power well CTL IDX instead of ID 2018-08-08 13:51:19 +03:00
selftests drm/i915/selftests: Hold rpm for unparking 2018-08-09 14:48:55 +01:00
dvo_ch7xxx.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ch7017.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ivch.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ns2501.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_sil164.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_tfp410.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo.h
i915_cmd_parser.c
i915_debugfs.c drm/i915: Allow control of PSR at runtime through debugfs, v6 2018-08-10 11:02:11 +02:00
i915_drv.c drm/i915: Constify power well descriptors 2018-08-08 13:49:43 +03:00
i915_drv.h drm/i915/psr: Add debugfs support to force a downgrade to PSR1 mode. 2018-08-10 11:02:42 +02: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: Remove unnecessary ggtt_offset_bias from i915_gem_context 2018-07-27 16:07:37 +01:00
i915_gem_context.h drm/i915: Remove unnecessary ggtt_offset_bias from i915_gem_context 2018-07-27 16:07:37 +01:00
i915_gem_dmabuf.c dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
i915_gem_evict.c drm/i915: Provide a timeout to i915_gem_wait_for_idle() 2018-07-09 13:55:41 +01:00
i915_gem_execbuffer.c drm/i915: kill resource streamer support 2018-08-06 17:19:51 +01:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915/gtt: remove px_page 2018-07-30 15:21:48 +01:00
i915_gem_gtt.h drm/i915/gtt: remove px_page 2018-07-30 15:21:48 +01:00
i915_gem_internal.c
i915_gem_object.c
i915_gem_object.h drm/i915: Mark up object tiling-and-stride getters as const 2018-07-26 12:31:02 +01:00
i915_gem_render_state.c drm/i915: Start returning an error from i915_vma_move_to_active() 2018-07-06 18:22:37 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Introduce i915_address_space.mutex 2018-07-11 13:56:16 +01:00
i915_gem_stolen.c drm/i915: use the ICL stolen memory 2018-07-10 16:29:56 -07:00
i915_gem_tiling.c
i915_gem_userptr.c drm/i915/userptr: Enable read-only support on gen8+ 2018-07-13 16:18:15 +01:00
i915_gem.c drm/i915: Warn if we hit the timeout for wait-for-idle 2018-08-08 17:08:06 +01:00
i915_gem.h drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd) 2018-06-28 22:55:10 +01:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: Track vma activity per fence.context, not per engine 2018-07-06 18:22:43 +01:00
i915_gpu_error.h drm/i915: Track vma activity per fence.context, not per engine 2018-07-06 18:22:43 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Allow control of PSR at runtime through debugfs, v6 2018-08-10 11:02:11 +02: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 drm/i915: Remove intel_panel_detect() 2018-07-19 18:39:31 +03:00
i915_params.h drm/i915: Remove intel_panel_detect() 2018-07-19 18:39:31 +03:00
i915_pci.c drm/i915: kill resource streamer support 2018-08-06 17:19:51 +01:00
i915_perf.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
i915_pmu.c drm/i915/pmu: Do not assume fixed hrtimer period 2018-06-05 16:45:01 +01:00
i915_pmu.h drm/i915/pmu: Do not assume fixed hrtimer period 2018-06-05 16:45:01 +01:00
i915_pvinfo.h - Ice Lake's display enabling patches (Jose, Mahesh, Dhinakaran, Paulo, Manasi, Anusha, Arkadiusz) 2018-06-07 10:24:50 +08:00
i915_query.c drm/i915/query: nospec expects no more than an unsigned long 2018-05-29 13:53:07 +03:00
i915_query.h
i915_reg.h drm/i915/icl: Add missing power gate enums 2018-08-08 13:51:21 +03:00
i915_request.c drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
i915_request.h drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
i915_scheduler.h
i915_selftest.h drm/i915/selftests: Downgrade igt_timeout message 2018-07-16 11:23:45 +01:00
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 drm/i915: Replace nested subclassing with explicit subclasses 2018-07-07 08:09:43 +01:00
i915_trace_points.c
i915_trace.h drm/i915/ringbuffer: Fix context restore upon reset 2018-06-11 14:03:47 +01:00
i915_utils.h
i915_vgpu.c drm/i915/gtt: Rename i915_hw_ppgtt base member 2018-06-05 21:11:20 +01:00
i915_vgpu.h drm/i915: Add new vGPU cap info bit VGT_CAPS_HUGE_GTT 2018-06-05 16:57:01 +03:00
i915_vma.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
i915_vma.h drm/i915/guc: Move the pin bias value from GuC to GGTT 2018-07-27 16:03:41 +01:00
icl_dsi.c drm/i915/icl: Power down unused DSI lanes 2018-07-06 12:14:16 +03:00
intel_acpi.c drm/i915/dsm: remove unnecessary dsm priv structure 2018-06-14 15:59:09 +03:00
intel_atomic_plane.c Chris is doing many reworks that allow us to get full-ppgtt supported 2018-06-28 13:10:44 +10:00
intel_atomic.c Chris is doing many reworks that allow us to get full-ppgtt supported 2018-06-28 13:10:44 +10:00
intel_audio.c drm/i915/audio: constify ELD pointers 2018-06-19 17:41:44 +03:00
intel_bios.c drm/i915/psr: fix copy-paste error with setting of tp2_wakeup_time_us 2018-06-20 12:00:31 -07:00
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: Mark expected switch fall-throughs 2018-07-05 16:40:51 +03:00
intel_color.c
intel_crt.c drm/i915: Enforce max hdisplay/hblank_start limits on HSW/BDW FDI 2018-06-19 17:18:24 +03:00
intel_csr.c
intel_ddi.c drm/i915/icl: toggle PHY clock gating around link training 2018-07-25 13:45:26 -07:00
intel_device_info.c drm/i915: Record logical context support in driver caps 2018-07-06 14:05:23 +01:00
intel_device_info.h drm/i915: kill resource streamer support 2018-08-06 17:19:51 +01:00
intel_display.c drm/i915: Bump priority of clean up work 2018-08-13 13:57:31 +01:00
intel_display.h drm/i915: Constify power well descriptors 2018-08-08 13:49:43 +03:00
intel_dp_aux_backlight.c drm/i915/backlight: switch to kernel unsigned int types 2018-06-18 14:46:04 +03:00
intel_dp_link_training.c drm/i915/dp: Improve clock recovery loop limit comment 2018-07-25 09:57:25 -07:00
intel_dp_mst.c drm/i915/mst: Continue state updates even if AUX writes fail. 2018-07-26 00:32:44 -07:00
intel_dp.c drm/i915/icl: Set TBT IO in Aux transaction 2018-07-27 16:19:39 -07:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915/icl: Add TBT checks for PLL calculations 2018-07-27 16:18:31 -07:00
intel_dpll_mgr.h drm/i915/icl: Fix MG PLL setup when refclk is 38.4MHz 2018-06-21 19:01:40 +03:00
intel_drv.h drm/i915: Allow control of PSR at runtime through debugfs, v6 2018-08-10 11:02:11 +02:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c drm/i915/dsi: use vlv and bxt prefixes for the global DSI functions 2018-07-06 10:54:05 +03:00
intel_dsi.h drm/i915/dsi: use vlv and bxt prefixes for the global DSI functions 2018-07-06 10:54:05 +03:00
intel_dvo.c drm/i915: Allow DBLSCAN user modes with eDP/LVDS/DSI 2018-06-19 15:47:49 +03:00
intel_engine_cs.c drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
intel_fbc.c drm/i915: Remove delayed FBC activation. 2018-06-29 10:06:31 +02:00
intel_fbdev.c drm/i915: Use intel_fb_obj() everywhere 2018-05-22 09:44:02 +01:00
intel_fifo_underrun.c
intel_frontbuffer.c drm/i915/psr: Nuke PSR support for VLV and CHV 2018-05-24 16:05:19 +03:00
intel_frontbuffer.h
intel_gpu_commands.h
intel_guc_ads.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_ads.h
intel_guc_ct.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_ct.h
intel_guc_fw.c
intel_guc_fw.h
intel_guc_fwif.h drm/i915/guc: Move defines with size of GuC logs to intel_guc_log.h 2018-06-12 15:44:45 +01:00
intel_guc_log.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_log.h drm/i915/guc: Add support for define guc_log_size in megabytes. 2018-06-12 15:44:47 +01:00
intel_guc_reg.h
intel_guc_submission.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_submission.h
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 drm/i915: Unwind HW init after GVT setup failure 2018-07-10 16:46:09 +01:00
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 Chris is doing many reworks that allow us to get full-ppgtt supported 2018-06-28 13:10:44 +10:00
intel_hotplug.c drm/i915: Pass hpd_pin to long_pulse_detect() 2018-07-13 18:22:22 +03: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 drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
intel_i2c.c drm/i915/gmbus: Enable burst read 2018-07-12 17:31:28 +02:00
intel_lpe_audio.c drm/i915/lpe: Mark LPE audio runtime pm as "no callbacks" 2018-08-03 10:35:13 +01: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/icl: account for context save/restore removed bits 2018-08-10 16:07:14 +01: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/lspcon: switch to kernel unsigned int types 2018-06-18 14:46:22 +03:00
intel_lvds.c On GEM side: 2018-07-20 12:29:24 +10:00
intel_mocs.c
intel_mocs.h
intel_modes.c drm: drop _mode_ from update_edit_property() 2018-07-13 18:40:27 +02:00
intel_opregion.c drm/i915/opregion: move acpi notifier to dev_priv 2018-06-14 13:48:10 +03:00
intel_opregion.h drm/i915/opregion: move acpi notifier to dev_priv 2018-06-14 13:48:10 +03:00
intel_overlay.c
intel_panel.c drm/i915: Remove intel_panel_detect() 2018-07-19 18:39:31 +03:00
intel_pipe_crc.c drm/i915: Remove support for legacy debugfs crc interface 2018-07-06 14:33:35 +02:00
intel_pm.c drm/i915/skl: distribute DDB based on panel resolution 2018-08-07 10:25:30 +02:00
intel_psr.c drm/i915/psr: Add debugfs support to force a downgrade to PSR1 mode. 2018-08-10 11:02:42 +02: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: Remove extra waiter kick on legacy resets 2018-08-08 17:08:08 +01:00
intel_ringbuffer.h drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
intel_runtime_pm.c drm/i915: Use existing power well IDs where possible 2018-08-08 13:51:20 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm-misc-next for 4.19: 2018-07-20 10:46:49 +10:00
intel_sideband.c
intel_sprite.c On GEM side: 2018-07-20 12:29:24 +10:00
intel_tv.c drm/i915/tv: fix strncpy truncation warning 2018-07-12 10:18:19 +01:00
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/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
intel_uc.h
intel_uncore.c drm/i915: Force reset on unready engine 2018-08-13 17:00:00 +03:00
intel_uncore.h drm/i915: Restore user forcewake domains across suspend 2018-08-09 14:25:46 +01:00
intel_vbt_defs.h drm/i915/vbt: switch to kernel unsigned int types 2018-06-18 14:44:52 +03:00
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 Revert "drm/i915/icl: WaEnableFloatBlendOptimization" 2018-08-01 17:17:27 +03:00
intel_workarounds.h
Kconfig
Kconfig.debug Higlights here goes to many PSR fixes and improvements; to the Ice lake work with 2018-07-19 05:46:30 +10:00
Makefile drm/i915/icl: Program DSI Escape clock Divider 2018-07-06 12:13:34 +03:00
vlv_dsi_pll.c drm/i915/dsi: use vlv and bxt prefixes for the global DSI functions 2018-07-06 10:54:05 +03:00
vlv_dsi.c drm/i915/dsi: update some of the platform based checks 2018-07-06 10:54:10 +03:00