linux/drivers/gpu/drm/i915
Michel Thierry c64992e035 drm/i915: Look for active requests earlier in the reset path
And store the active request so that we only search for it once.

v2: Check for request completion inside _prepare_engine, don't use
ECANCELED, remove unnecessary null checks (Chris).

v3: Capture active requests during reset_prepare and store it the
engine hangcheck obj.

v4: Rename commit, change i915_gem_reset_request to just confirm the
active_request is still incomplete, instead of engine_stalled (Chris).

v5: With style; pass the active request to gem_reset_engine, keep single
return in reset_prepare_engine (Chris).

v6: Moved before reset-engine code appears (Chris)

Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v5)
Signed-off-by: Michel Thierry <michel.thierry@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170615201828.23144-2-michel.thierry@intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170620095751.13127-3-chris@chris-wilson.co.uk
2017-06-20 21:00:03 +01:00
..
gvt drm/i915: Allow contexts to be unreferenced locklessly 2017-06-20 17:13:47 +01:00
selftests drm/i915: Wait for concurrent global resets to complete 2017-06-20 20:59:58 +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: Group all the global context information together 2017-06-20 17:13:40 +01:00
i915_drv.c drm/i915: Allow contexts to be unreferenced locklessly 2017-06-20 17:13:47 +01:00
i915_drv.h drm/i915: Enable rcu-only context lookups 2017-06-20 17:13:54 +01: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: Enable rcu-only context lookups 2017-06-20 17:13:54 +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: Enable rcu-only context lookups 2017-06-20 17:13:54 +01:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915/cfl: Introduce Coffee Lake workarounds. 2017-06-16 16:14:29 -07:00
i915_gem_gtt.h drm/i915: First try the previous execbuffer location 2017-06-16 16:54:05 +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: Remove the spin-request during execbuf await_request 2017-06-08 12:33:09 +01:00
i915_gem_request.h 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
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: Store i915_gem_object_is_coherent() as a bit next to cache-dirty 2017-06-16 14:52:27 +01:00
i915_gem_tiling.c drm/i915: Fix logical inversion for gen4 quirking 2017-06-01 14:27:44 +01: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 drm/i915: Look for active requests earlier in the reset path 2017-06-20 21:00:03 +01: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/execlists: Pack the count into the low bits of the port.request 2017-05-17 13:38:06 +01:00
i915_guc_reg.h
i915_guc_submission.c drm/i915/guc: Fix doorbell id selection 2017-05-31 10:34:03 +03:00
i915_ioc32.c
i915_irq.c drm/i915: Wait for concurrent global resets to complete 2017-06-20 20:59:58 +01: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
i915_params.h
i915_pci.c drm/i915/DMC/CNL: Load DMC on CNL 2017-06-12 09:44:34 -07:00
i915_perf.c drm/i915: Allow contexts to be unreferenced locklessly 2017-06-20 17:13:47 +01:00
i915_pvinfo.h drm/i915: Fix GVT-g PVINFO version compatibility check 2017-06-12 14:39:24 +03:00
i915_reg.h drm/i915/cnl: Fix RMW on ddi vswing sequence. 2017-06-19 14:06:20 -07:00
i915_selftest.h
i915_suspend.c
i915_sw_fence.c drm/i915: Import the kfence selftests for i915_sw_fence 2017-05-17 13:38:02 +01:00
i915_sw_fence.h drm/i915: Remove kref from i915_sw_fence 2017-05-17 13:38:01 +01: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: Group all the global context information together 2017-06-20 17:13:40 +01: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-12 14:39:24 +03:00
i915_vgpu.h
i915_vma.c drm/i915: Stash a pointer to the obj's resv in the vma 2017-06-16 16:54:05 +01: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
intel_atomic_plane.c 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
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
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/cnl: Allow dynamic cdclk changes on CNL 2017-06-12 09:41:33 -07:00
intel_color.c
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: Fix RMW on ddi vswing sequence. 2017-06-19 14:06:20 -07:00
intel_device_info.c drm/i915/cfl: Introduce Coffee Lake platform definition. 2017-06-08 09:55:08 -07:00
intel_display.c drm/i915: Remove pipe A quirk remnants 2017-06-15 15:38:27 +03:00
intel_dp_aux_backlight.c drm/i915: Don't enable backlight at setup time. 2017-06-15 16:11:08 +03:00
intel_dp_link_training.c drm/i915: Implement Link Rate fallback on Link training failure 2017-04-13 21:57:37 +03:00
intel_dp_mst.c 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
intel_dp.c drm/i915: Make intel_digital_port_connected() work for any port 2017-06-19 22:11:21 +03: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: Add i830 "pipes power well" 2017-06-15 15:35:38 +03: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
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: Simplify intel_engines_init 2017-06-20 12:42:12 +01:00
intel_fbc.c drm/i915: Fix 90/270 rotated coordinates for FBC 2017-06-06 19:31:28 +03:00
intel_fbdev.c drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI 2017-05-22 09:49:48 +02:00
intel_fifo_underrun.c drm/i915/cnl: Enable fifo underrun for Cannonlake. 2017-06-12 09:46:08 -07: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/i915/cnp: add CNP gmbus support 2017-06-02 13:59:32 -07: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: Fix runtime PM for LPE audio 2017-05-15 14:44:11 +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
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 Revert "drm/i915/skl: New ddb allocation algorithm" 2017-06-15 14:01:14 -07:00
intel_psr.c drm/i915/psr: disable psr2 for resolution greater than 32X20 2017-05-30 10:11:41 -07: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: Add i830 "pipes power well" 2017-06-15 15:35:38 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Actually attach the tv_format property to the SDVO connector 2017-06-16 15:46:57 +03:00
intel_sideband.c
intel_sprite.c drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail 2017-06-06 17:58:42 +03: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 drm/i915/guc: capture GuC logs if FW fails to load 2017-05-26 13:59:56 +01:00
intel_uncore.c drm/i915: Remove decoupled MMIO code 2017-05-30 09:59:41 +03: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
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