linux-pinenote/drivers/gpu/drm/i915
Chris Wilson 737b150603 drm/i915: Convert hangcheck from a timer into a delayed work item
When run as a timer, i915_hangcheck_elapsed() must adhere to all the
rules of running in a softirq context. This is advantageous to us as we
want to minimise the risk that a driver bug will prevent us from
detecting a hung GPU. However, that is irrelevant if the driver bug
prevents us from resetting and recovering. Still it is prudent not to
rely on mutexes inside the checker, but given the coarseness of
dev->struct_mutex doing so is extremely hard.

Give in and run from a work queue, i.e. outside of softirq.

v2: Use own workqueue to avoid deadlocks (Daniel)
    Cleanup commit msg and add comment to i915_queue_hangcheck() (Chris)

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Daniel Vetter <dnaiel.vetter@ffwll.chm>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (v1)
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
[danvet: Remove accidental kerneldoc comment starter, to appease the 0
day builder.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-01-28 17:22:12 +01:00
..
dvo.h
dvo_ch7xxx.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ch7017.c
dvo_ivch.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ns2501.c drm/i915: Check pixel clock in ns2501 mode_valid hook 2014-09-03 11:05:21 +02:00
dvo_sil164.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_tfp410.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
i915_cmd_parser.c drm/i915: Add GPGPU_THREADS_DISPATCHED to the register whitelist 2014-12-16 10:39:10 +01:00
i915_debugfs.c drm/i915: Use intel_gpu_freq() and intel_freq_opcode() 2015-01-27 09:51:17 +01:00
i915_dma.c drm/i915: Convert hangcheck from a timer into a delayed work item 2015-01-28 17:22:12 +01:00
i915_drv.c drm/i915: Convert hangcheck from a timer into a delayed work item 2015-01-28 17:22:12 +01:00
i915_drv.h drm/i915: Convert hangcheck from a timer into a delayed work item 2015-01-28 17:22:12 +01:00
i915_gem.c drm/i915: Convert hangcheck from a timer into a delayed work item 2015-01-28 17:22:12 +01:00
i915_gem_batch_pool.c drm/i915: Mark shadow batch buffers as purgeable 2014-12-16 10:39:09 +01:00
i915_gem_context.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_gem_debug.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_dmabuf.c dma-buf: use reservation objects 2014-07-08 13:03:20 -07:00
i915_gem_evict.c drm/i915: Add some extra guards in evict_vm 2015-01-06 09:07:59 +01:00
i915_gem_execbuffer.c drm/i915: Specify bsd rings through exec flag 2015-01-27 09:51:05 +01:00
i915_gem_gtt.c drm/i915: Organize bind_vma funcs 2014-12-17 18:23:12 +01:00
i915_gem_gtt.h drm/i915: Infrastructure for supporting different GGTT views per object 2014-12-15 11:25:04 +01:00
i915_gem_render_state.c drm/i915: Remove obsolete seqno parameter from 'i915_add_request' 2014-12-03 09:35:19 +01:00
i915_gem_render_state.h drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02:00
i915_gem_stolen.c drm/i915: Don't complain about stolen conflicts on gen3 2014-12-10 11:11:28 +02:00
i915_gem_tiling.c drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req 2014-12-03 09:35:14 +01:00
i915_gem_userptr.c drm/i915: Do not leak pages when freeing userptr objects 2014-09-29 15:31:01 +02:00
i915_gpu_error.c drm/i915: Removed duplicate members from submit_request 2015-01-27 09:50:52 +01:00
i915_ioc32.c drm/i915: remove redundant #ifdef CONFIG_COMPAT 2014-10-24 16:34:07 +02:00
i915_irq.c drm/i915: Convert hangcheck from a timer into a delayed work item 2015-01-28 17:22:12 +01:00
i915_params.c drm/i915: Add i915.nuclear_pageflip command line param to force atomic (v4) 2015-01-27 09:57:34 +01:00
i915_reg.h drm/i915/skl: Gen9 coarse power gating 2015-01-27 09:51:00 +01:00
i915_suspend.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_sysfs.c drm/i915: Use intel_gpu_freq() and intel_freq_opcode() 2015-01-27 09:51:17 +01:00
i915_trace.h drm/i915: Additional request structure tracing 2014-12-06 01:46:27 +01:00
i915_trace_points.c
i915_ums.c drm/i915: don't save/restore backlight hist ctl registers 2014-11-14 10:29:28 +01:00
intel_acpi.c
intel_atomic.c drm/i915: Add crtc state duplication/destruction functions 2015-01-27 09:57:18 +01:00
intel_atomic_plane.c drm/i915: Switch plane properties to full atomic helper. 2015-01-27 09:57:25 +01:00
intel_audio.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_bios.c Revert "drm/i915: Parsing LFP brightness control from VBT" 2015-01-07 09:45:38 +01:00
intel_bios.h Revert "drm/i915: Parsing LFP brightness control from VBT" 2015-01-07 09:45:38 +01:00
intel_crt.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_ddi.c drm/i915: Enable/disable DRRS 2015-01-27 09:51:15 +01:00
intel_display.c drm/i915: Switch plane properties to full atomic helper. 2015-01-27 09:57:25 +01:00
intel_dp.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_dp_mst.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_drv.h drm/i915: Add crtc state duplication/destruction functions 2015-01-27 09:57:18 +01:00
intel_dsi.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_dsi.h drm/i915/dsi: remove unnecessary dsi device callbacks 2015-01-27 09:51:13 +01:00
intel_dsi_cmd.c drm/i915/dsi: move wait_for_dsi_fifo_empty to intel_dsi.c 2015-01-27 09:51:12 +01:00
intel_dsi_cmd.h drm/i915/dsi: move wait_for_dsi_fifo_empty to intel_dsi.c 2015-01-27 09:51:12 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: add some constness to vbt panel driver 2015-01-27 09:51:13 +01:00
intel_dsi_pll.c drm/i915: Use DSI Pll1 for enabling MIPI DSI on Port C 2014-12-10 17:47:21 +01:00
intel_dvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_fbc.c drm/i915: Move rotation from intel_plane to drm_plane_state 2015-01-27 09:51:18 +01:00
intel_fbdev.c drm/i915: Rename plane_config to initial_plane_config 2015-01-27 09:51:04 +01:00
intel_fifo_underrun.c drivers: gpu: drm: i915: intel_fifo_underrun.c: Fix a typo in comment 2015-01-27 10:30:01 +01:00
intel_frontbuffer.c drm/i915: DRRS calls based on frontbuffer 2015-01-27 09:51:15 +01:00
intel_hdmi.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_i2c.c drm/i915: Kill duplicated cdclk readout code from i2c 2014-07-07 11:27:52 +02:00
intel_lrc.c drm/i915: Rename unpin_count to pin_count 2015-01-27 09:51:06 +01:00
intel_lrc.h drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request 2015-01-27 09:50:53 +01:00
intel_lvds.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_modes.c
intel_opregion.c ACPI / i915: Update the condition to ignore firmware backlight change request 2014-09-30 01:11:18 +02:00
intel_overlay.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_panel.c drm/i915: Embedded struct drm_crtc_state in intel_crtc_state 2015-01-27 09:50:48 +01:00
intel_pm.c drm/i915: Use intel_gpu_freq() and intel_freq_opcode() 2015-01-27 09:51:17 +01:00
intel_psr.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_renderstate.h drm/i915 Add golden context support for Gen9 2014-11-04 14:04:55 +01:00
intel_renderstate_gen6.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen7.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen8.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen9.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_ringbuffer.c drm/i915: Change CHV WIZ hashing mode to 16x4 2015-01-27 09:51:10 +01:00
intel_ringbuffer.h drm/i915: Remove FIXME_lrc_ctx backpointer 2015-01-27 09:50:53 +01:00
intel_runtime_pm.c drm/i915/skl: Adding power domains for AUX controllers 2015-01-27 09:50:58 +01:00
intel_sdvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Increase the range of sideband address. 2015-01-27 09:50:43 +01:00
intel_sprite.c drm/i915: Switch plane properties to full atomic helper. 2015-01-27 09:57:25 +01:00
intel_tv.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_uncore.c drm/i915: Enum forcewake domains and domain identifiers 2015-01-27 09:50:57 +01:00
Kconfig drm/i915: Ditch UMS config option 2014-07-24 10:59:53 +02:00
Makefile drm/i915: Add main atomic entrypoints (v2) 2015-01-27 09:56:46 +01:00