linux/drivers/gpu/drm/i915
Chris Wilson 87b723a16d drm/i915: Don't check for idleness before retiring after a GPU hang
When we force the cleanup after a GPU hang, we want to retire all
requests, or else we may leak them if truly wedged (and the GPU never
advances again). Converting to the active request helpers had the issue
of doing the check against busyness before reporting the request, so if
we claim the GPU had hung but this engine hadn't we could potential skip
the request cleanup - triggering the self-check BUG.

Fixes: dcff85c844 ("drm/i915: Enable i915_gem_wait_for_idle() ...")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470728222-10243-3-git-send-email-chris@chris-wilson.co.uk
2016-08-09 09:11:59 +01:00
..
gvt drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
Kconfig drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
Kconfig.debug drm/i915: Select DRM_VGEM for igt 2016-07-10 13:22:39 +01:00
Makefile drm/i915: Refactor activity tracking for requests 2016-08-04 08:09: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 drm/i915/cmdparser: Remove stray intel_engine_cs *ring 2016-07-27 16:23:05 +01:00
i915_debugfs.c drm/i915: Fix copy_to_user usage for pipe_crc 2016-08-05 09:39:47 -07:00
i915_drv.c drm/i915: Release vma when the handle is closed 2016-08-04 08:09:33 +01:00
i915_drv.h drm/i915: Update DRIVER_DATE to 20160808 2016-08-08 09:37:31 +02:00
i915_gem.c drm/i915: Don't check for idleness before retiring after a GPU hang 2016-08-09 09:11:59 +01:00
i915_gem.h drm/i915: Add GEM debugging Kconfig option 2016-04-14 10:45:40 +01:00
i915_gem_batch_pool.c drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_batch_pool.h drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_context.c drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin() 2016-08-04 20:20:00 +01:00
i915_gem_dmabuf.c drm/i915: Export our request as a dma-buf fence on the reservation object 2016-08-04 20:20:06 +01:00
i915_gem_dmabuf.h drm/i915: Serialise presentation with imported dmabufs 2016-06-17 10:32:26 +01:00
i915_gem_evict.c drm/i915: Enable i915_gem_wait_for_idle() without holding struct_mutex 2016-08-05 10:54:37 +01:00
i915_gem_execbuffer.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
i915_gem_fence.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
i915_gem_gtt.c drm/i915: fix aliasing_ppgtt leak 2016-08-05 22:39:32 +02:00
i915_gem_gtt.h drm/i915: Make i915_vma_pin() small and inline 2016-08-04 20:20:00 +01:00
i915_gem_render_state.c drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin() 2016-08-04 20:20:00 +01:00
i915_gem_render_state.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
i915_gem_request.c drm/i915: Update comment before i915_spin_request 2016-08-05 22:30:56 +02:00
i915_gem_request.h drm/i915: Wrap the protected active RCU dereference in a helper 2016-08-09 09:11:59 +01:00
i915_gem_shrinker.c drm/i915: Remove unused no-shrinker-steal 2016-08-05 10:54:39 +01:00
i915_gem_stolen.c drm/i915: Combine all i915_vma bitfields into a single set of flags 2016-08-04 20:19:59 +01:00
i915_gem_tiling.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
i915_gem_userptr.c drm/i915/userptr: Remove superfluous interruptible=false on waiting 2016-08-05 10:54:36 +01:00
i915_gpu_error.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
i915_guc_reg.h drm/i915/bxt: reserve space for RC6 in the the GuC WOPCM 2016-05-18 12:49:19 +01:00
i915_guc_submission.c drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin() 2016-08-04 20:20:00 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Use drm official vblank_no_hw_counter callback. 2016-08-05 09:40:07 -07:00
i915_params.c drm/i915/guc: Revert "drm/i915/guc: enable GuC loading & submission by default" 2016-07-25 08:15:49 +02:00
i915_params.h drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
i915_pci.c drm/i915: Add missing ring_mask to Pineview 2016-07-29 16:22:42 +01:00
i915_pvinfo.h drm/i915: Use offsetof() to calculate the offset of members in PVINFO page 2016-06-17 19:44:25 +01:00
i915_reg.h drm/i915: Fix use of engine->index for register offset 2016-08-04 09:20:32 +01:00
i915_suspend.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
i915_sysfs.c drm/i915: Fix up some stray to_i915(dev) after a recent merge 2016-07-28 07:28:17 +01:00
i915_trace.h drm/i915: Remove surplus drm_device parameter to i915_gem_evict_something() 2016-08-04 20:19:50 +01:00
i915_trace_points.c
i915_vgpu.c drm/i915: Update missing kerneldoc 2016-07-19 10:34:24 +02:00
i915_vgpu.h drm/i915: Fold vGPU active check into inner functions 2016-06-17 19:44:29 +01:00
intel_acpi.c
intel_atomic.c drm: Consolidate plane arrays in drm_atomic_state 2016-06-02 17:20:25 +02:00
intel_atomic_plane.c drm/i915: Revert async unpin and nonblocking atomic commit 2016-06-01 09:46:46 +02:00
intel_audio.c drm/i915: Acquire audio powerwell for HD-Audio registers 2016-08-04 18:17:20 +01:00
intel_bios.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_bios.h drm/i915: Parse LFP brightness control field in VBT 2016-05-02 16:17:38 +03:00
intel_breadcrumbs.c drm/i915: Reduce breadcrumb lock coverage for intel_engine_enable_signaling() 2016-07-26 13:00:58 +01:00
intel_color.c drm/i915: Kill has_dsi_encoder 2016-07-07 13:10:20 +03:00
intel_crt.c drm/i915/vlv: Disable HPD in valleyview_crt_detect_hotplug() 2016-07-19 09:17:09 +02:00
intel_csr.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-08-05 10:36:15 +02:00
intel_ddi.c Revert "drm/i915: Track active streams also for DP SST" 2016-08-05 19:20:31 +03:00
intel_device_info.c drm/i915: Split out runtime configuration of device info to its own file 2016-07-05 11:53:27 +01:00
intel_display.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
intel_dp.c Revert "drm/i915: Track active streams also for DP SST" 2016-08-05 19:20:31 +03:00
intel_dp_aux_backlight.c drm/i915: Add Backlight Control using DPCD for eDP connectors (v9) 2016-04-26 15:17:54 +03:00
intel_dp_link_training.c drm/i915: Revert DisplayPort fast link training feature 2016-06-21 19:45:03 +03:00
intel_dp_mst.c Revert "drm/i915: Track active streams also for DP SST" 2016-08-05 19:20:31 +03:00
intel_dpio_phy.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dpll_mgr.c drm/i915: s/INTEL_OUTPUT_DISPLAYPORT/INTEL_OUTPUT_DP/ 2016-07-07 13:10:16 +03:00
intel_dpll_mgr.h
intel_drv.h Revert "drm/i915: Track active streams also for DP SST" 2016-08-05 19:20:31 +03:00
intel_dsi.c drm/i915: Kill has_dsi_encoder 2016-07-07 13:10:20 +03:00
intel_dsi.h drm/i915/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +03:00
intel_dsi_dcs_backlight.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dsi_panel_vbt.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dsi_pll.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dvo.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_engine_cs.c drm/i915: Enable i915_gem_wait_for_idle() without holding struct_mutex 2016-08-05 10:54:37 +01:00
intel_fbc.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
intel_fbdev.c drm/i915: Separate intel_frontbuffer into its own header 2016-08-04 20:20:01 +01:00
intel_fifo_underrun.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_frontbuffer.c drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_frontbuffer.h drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_guc.h drm/i915: Unify request submission 2016-08-02 22:58:26 +01:00
intel_guc_fwif.h drm/i915/guc: rework guc_add_workqueue_item() 2016-05-23 14:21:53 +01:00
intel_guc_loader.c drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin() 2016-08-04 20:20:00 +01:00
intel_gvt.c drm/i915/gvt: Mark i915.enable_gvt as false if loading fails 2016-06-21 12:40:13 +01:00
intel_gvt.h drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
intel_hdmi.c drm/i915: Simplify hdmi_12bpc_possible() 2016-07-07 13:10:24 +03:00
intel_hotplug.c drm/i915: Update missing kerneldoc 2016-07-19 10:34:24 +02:00
intel_i2c.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_lrc.c drm/i915: Remove forced stop ring on suspend/unload 2016-08-05 10:54:36 +01:00
intel_lrc.h drm/i915: Unify legacy/execlists submit_execbuf callbacks 2016-08-02 22:58:31 +01:00
intel_lvds.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_mocs.c drm/i915: Rename struct intel_ringbuffer to struct intel_ring 2016-08-02 22:58:16 +01:00
intel_mocs.h drm/i915: rename 'ring' where it refers to an engine or engine_id 2016-07-21 09:59:41 +01:00
intel_modes.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_opregion.c Linux 4.7 2016-07-26 17:26:29 +10:00
intel_overlay.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
intel_panel.c drm/i915: Introduce Kabypoint PCH for Kabylake H/DT. 2016-07-15 15:51:30 +03:00
intel_pm.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
intel_psr.c drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_renderstate.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915: fix WaInsertDummyPushConstPs 2016-08-05 13:16:55 +03:00
intel_ringbuffer.h drm/i915: Enable i915_gem_wait_for_idle() without holding struct_mutex 2016-08-05 10:54:37 +01:00
intel_runtime_pm.c drm/i915: Enable polling when we don't have hpd 2016-07-19 09:17:25 +02:00
intel_sdvo.c drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm 2016-07-05 11:58:45 +01:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:33 +01:00
intel_sprite.c drm/i915: Repack fence tiling mode and stride into a single integer 2016-08-05 10:54:43 +01:00
intel_tv.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_uncore.c Revert "drm/i915: Enable RC6 immediately" 2016-07-21 21:43:19 +01:00
intel_vbt_defs.h drm/i915: Extract physical display dimensions from VBT 2016-06-10 10:41:15 +03:00