linux-stable/drivers/gpu/drm/i915
Chris Wilson 1f15b76f1e drm/i915: Separate GPU hang waitqueue from advance
Currently __i915_wait_request uses a per-engine wait_queue_t for the dual
purpose of waking after the GPU advances or for waking after an error.
In the future, we may add even more wake sources and require greater
separation, but for now we can conceptually simplify wakeups by separating
the two sources. In particular, this allows us to use different wait-queues
(e.g. one on the engine advancement, a global one for errors and one on
each requests) without any hassle.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1467390209-3576-5-git-send-email-chris@chris-wilson.co.uk
2016-07-01 20:42:31 +01:00
..
gvt drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +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: Fix a buch of kerneldoc warnings 2016-06-06 13:04:26 +01:00
i915_debugfs.c drm/i915: Split idling from forcing context switch 2016-06-24 15:03:14 +01:00
i915_drv.c drm/i915: Remove the dedicated hangcheck workqueue 2016-07-01 20:42:29 +01:00
i915_drv.h drm/i915: Separate GPU hang waitqueue from advance 2016-07-01 20:42:31 +01:00
i915_gem.c drm/i915: Separate GPU hang waitqueue from advance 2016-07-01 20:42:31 +01:00
i915_gem.h
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Mark all default contexts as uninitialised after context loss 2016-06-24 15:02:55 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c
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: Only switch to default context when evicting from GGTT 2016-06-24 15:03:32 +01:00
i915_gem_execbuffer.c drm: Extract drm_is_current_master 2016-06-21 21:58:12 +02:00
i915_gem_fence.c drm/i915: Introduce & use new lightweight SGL iterators 2016-05-20 13:43:00 +01:00
i915_gem_gtt.c drm/i915: tweak gen6_for_{each_pde, all_pdes} macros 2016-06-27 13:13:53 +01:00
i915_gem_gtt.h drm/i915: tweak gen6_for_{each_pde, all_pdes} macros 2016-06-27 13:13:53 +01:00
i915_gem_render_state.c drm/i915:bxt: Enable Pooled EU support 2016-06-14 10:42:35 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915/shrinker: Flush active on objects before counting 2016-07-01 20:42:27 +01:00
i915_gem_stolen.c drm/i915/kbl: Add WaSkipStolenMemoryFirstPage for A0 2016-06-08 16:20:23 +03:00
i915_gem_tiling.c Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-06-02 07:58:36 +10:00
i915_gem_userptr.c drm/i915: Introduce & use new lightweight SGL iterators 2016-05-20 13:43:00 +01:00
i915_gpu_error.c
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/guc: Remove one unnecessary variable 2016-06-21 15:43:32 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Separate GPU hang waitqueue from advance 2016-07-01 20:42:31 +01:00
i915_params.c drm/i915: Set the access right of kernel param "i915.enable_gvt" to read-only. 2016-06-21 11:45:27 +01: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/bxt: Remove the preliminary_hw_support flag 2016-07-01 21:25:54 +03: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/bxt: Fix sanity check for BIOS RC6 setup 2016-07-01 14:57:20 +03:00
i915_suspend.c
i915_sysfs.c drm/i915: No need to wait for idle on L3 remap 2016-06-24 15:03:06 +01:00
i915_trace.h drm/i915: Rename struct intel_context 2016-05-24 15:27:14 +01:00
i915_trace_points.c
i915_vgpu.c drm/i915: Fold vGPU active check into inner functions 2016-06-17 19:44:29 +01: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 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
intel_bios.c drm/i915: Check VBT for port presence in addition to the strap on VLV/CHV 2016-06-07 18:45:43 +03:00
intel_bios.h
intel_color.c drm: drm_helper_crtc_enable_color_mgmt() => drm_crtc_enable_color_mgmt() 2016-06-07 17:10:49 +03:00
intel_crt.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:02 +01:00
intel_csr.c drm/i915/dmc: Step away from symbolic links 2016-06-27 14:26:16 -07:00
intel_ddi.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:03 +01:00
intel_display.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:13 +01:00
intel_dp.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:14 +01:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915: Revert DisplayPort fast link training feature 2016-06-20 12:37:07 +03:00
intel_dp_mst.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:15 +01:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:16 +01:00
intel_dpll_mgr.h
intel_drv.h drm/i915: Use atomic waits for short non-atomic ones 2016-06-29 15:53:15 +01:00
intel_dsi.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:19 +01: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/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +03:00
intel_dsi_panel_vbt.c
intel_dsi_pll.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:20 +01:00
intel_dvo.c drm/i915: Move connector registration to driver registration 2016-06-24 14:43:26 +01:00
intel_fbc.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:21 +01:00
intel_fbdev.c drm/i915/fbdev: Flush mode configuration before lastclose 2016-06-21 09:36:56 +01:00
intel_fifo_underrun.c
intel_frontbuffer.c
intel_guc.h drm/i915/guc: index host arrays by i915 engine ID, not guc_id 2016-06-21 11:24:25 +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/guc: don't ever forward VBlank to the GuC 2016-06-27 13:21:59 +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: Move connector registration to driver registration 2016-06-24 14:43:26 +01:00
intel_hotplug.c
intel_i2c.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:22 +01:00
intel_lrc.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:22 +01:00
intel_lrc.h drm/i915: Introduce execlist context status change notification 2016-06-17 20:36:19 +01:00
intel_lvds.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:23 +01:00
intel_mocs.c drm/i915/mocs: || vs | typo in get_mocs_settings() 2016-06-13 17:38:01 +03:00
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915/opregion: handle missing connector types for acpi display types 2016-06-29 17:41:50 +03:00
intel_overlay.c Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-06-02 07:58:36 +10:00
intel_panel.c drm/i915: Move backlight registration to connector registration 2016-06-24 14:43:14 +01:00
intel_pm.c drm/i915/bxt: Fix sanity check for BIOS RC6 setup 2016-07-01 14:57:20 +03:00
intel_psr.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:25 +01:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915/ringbuffer: Move all default irq vfuncs init to a separate func 2016-07-01 09:48:24 +01:00
intel_ringbuffer.h drm/i915: Compact Gen8 semaphore initialization 2016-06-30 17:20:45 +01:00
intel_runtime_pm.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 17:05:41 +01:00
intel_sdvo.c drm/i915: Move connector registration to driver registration 2016-06-24 14:43:26 +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: Signal drm events for atomic 2016-06-16 14:28:34 +02:00
intel_tv.c drm/i915: Move connector registration to driver registration 2016-06-24 14:43:26 +01:00
intel_uncore.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 17:05:07 +01:00
intel_vbt_defs.h drm/i915: Extract physical display dimensions from VBT 2016-06-02 14:33:09 +03:00
Kconfig drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
Kconfig.debug drm/i915/debug: Select PREEMPT_COUNT when enabling debugging 2016-06-29 15:53:14 +01:00
Makefile drm/i915: Split out the PCI driver interface to i915_pci.c 2016-06-24 14:45:37 +01:00