linux-stable/drivers/gpu/drm/i915
Dave Gordon 551aaecd88 drm/i915/guc: don't spinwait if the GuC's workqueue is full
Rather than wait to see whether more space becomes available in the GuC
submission workqueue, we can just return -EAGAIN and let the caller try
again in a little while. This gets rid of an uninterruptable sleep in
the polling code :)

We'll also add a counter to the GuC client statistics, to see how often
we find the WQ full.

v2:
    Flag the likely() code path (Tvtrko Ursulin).

v4:
    Add/update comments about failure counters (Tvtrko Ursulin).

Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2016-05-23 14:21:53 +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: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_debugfs.c drm/i915/guc: don't spinwait if the GuC's workqueue is full 2016-05-23 14:21:53 +01:00
i915_dma.c drm/i915/guc: rename loader entry points 2016-05-23 14:21:52 +01:00
i915_drv.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-05-17 12:15:49 +02:00
i915_drv.h drm/i915/guc: distinguish HAS_GUC() from HAS_GUC_UCODE/HAS_GUC_SCHED 2016-05-23 14:21:52 +01:00
i915_gem.c drm/i915/guc: add enable_guc_loading parameter 2016-05-23 14:21:52 +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: Propagate error from drm_gem_object_init() 2016-04-28 12:28:58 +03:00
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Complete pending resets before get-reset-stats ioctl 2016-05-13 12:38:52 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c Linux 4.6-rc3 2016-04-11 19:25:13 +02:00
i915_gem_evict.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_gem_execbuffer.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01: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: Introduce & use new lightweight SGL iterators 2016-05-20 13:43:00 +01:00
i915_gem_gtt.h drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c 2016-05-10 17:20:20 +01:00
i915_gem_render_state.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_gem_stolen.c drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx 2016-05-11 12:27:27 +01:00
i915_gem_tiling.c drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx 2016-05-11 12:27:27 +01: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 drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx 2016-05-11 12:27:27 +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/guc: don't spinwait if the GuC's workqueue is full 2016-05-23 14:21:53 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Remove cs based page flip support. 2016-05-19 14:38:15 +02:00
i915_params.c drm/i915/guc: add enable_guc_loading parameter 2016-05-23 14:21:52 +01:00
i915_params.h drm/i915/guc: add enable_guc_loading parameter 2016-05-23 14:21:52 +01:00
i915_reg.h drm/i915/psr: Implement PSR2 w/a for gen9 2016-05-20 09:53:52 +02:00
i915_suspend.c
i915_sysfs.c drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c 2016-05-10 17:20:20 +01:00
i915_trace.h drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_trace_points.c
i915_vgpu.c drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c 2016-05-10 17:20:20 +01:00
i915_vgpu.h drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c 2016-05-10 17:20:20 +01:00
intel_acpi.c
intel_atomic.c drm/i915: Make unpin async. 2016-05-19 14:39:07 +02:00
intel_atomic_plane.c drm/i915: Add the exclusive fence to plane_state. 2016-05-19 14:37:56 +02:00
intel_audio.c Revert "drm/i915: start adding dp mst audio" 2016-05-03 22:28:26 +02:00
intel_bios.c drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT 2016-05-09 14:09:38 +03:00
intel_bios.h drm/i915: Parse LFP brightness control field in VBT 2016-05-02 16:17:38 +03:00
intel_color.c
intel_crt.c drm/i915: Bail out of pipe config compute loop on LPT 2016-05-04 17:15:43 +02:00
intel_csr.c drm/i915/kbl: Introduce the first official DMC for Kabylake. 2016-05-05 16:49:01 -07:00
intel_ddi.c drm/i915: Remove intel_clock_t typedef 2016-05-13 11:34:50 +03:00
intel_display.c drm/i915: Allow nonblocking update of pageflips. 2016-05-19 14:39:40 +02:00
intel_dp.c drm/i915/psr: Use ->get_aux_send_ctl functions 2016-05-20 09:53:52 +02: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
intel_dp_mst.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-05-17 12:15:49 +02:00
intel_dpio_phy.c drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c 2016-04-29 09:59:00 +03:00
intel_dpll_mgr.c drm/i915: Remove intel_clock_t typedef 2016-05-13 11:34:50 +03:00
intel_dpll_mgr.h
intel_drv.h drm/i915: Make unpin async. 2016-05-19 14:39:07 +02:00
intel_dsi.c drm/i915/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +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/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +03:00
intel_dsi_panel_vbt.c drm/i915/dsi: add support for gpio elements on CHV 2016-04-27 09:48:17 +03:00
intel_dsi_pll.c drm/i915: Eliminate {vlv,bxt}_configure_dsi_pll() 2016-04-15 16:25:27 +03:00
intel_dvo.c
intel_fbc.c drm/i915: Pass atomic states to fbc update functions. 2016-05-19 14:38:52 +02:00
intel_fbdev.c drm/i915: Move ioremap_wc tracking onto VMA 2016-04-28 12:17:32 +01:00
intel_fifo_underrun.c
intel_frontbuffer.c
intel_guc.h drm/i915/guc: don't spinwait if the GuC's workqueue is full 2016-05-23 14:21:53 +01:00
intel_guc_fwif.h
intel_guc_loader.c drm/i915/guc: add enable_guc_loading parameter 2016-05-23 14:21:52 +01:00
intel_hdmi.c drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT 2016-05-09 14:09:38 +03:00
intel_hotplug.c drm/i915: Small display interrupt handlers tidy 2016-05-09 13:38:16 +01:00
intel_i2c.c drm/i915: Make GMBUS timeout message DRM_DEBUG_KMS 2016-04-12 13:23:17 +03:00
intel_lrc.c drm/i915/guc: pass request (not client) to i915_guc_{wq_check_space, submit}() 2016-05-23 14:21:53 +01:00
intel_lrc.h drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
intel_lvds.c drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx 2016-05-11 12:27:27 +01:00
intel_mocs.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
intel_mocs.h drm/i915/mocs: Program MOCS for all engines on init 2016-04-14 10:45:40 +01:00
intel_modes.c
intel_opregion.c drm/i915: Small display interrupt handlers tidy 2016-05-09 13:38:16 +01:00
intel_overlay.c drm/i915: Convert intel_overlay.c to use native drm_i915_private pointers 2016-05-12 15:20:42 +01:00
intel_panel.c drm/i915/dsi: Add DCS control for Panel PWM 2016-05-17 16:12:38 +03:00
intel_pm.c drm/i915/guc: distinguish HAS_GUC() from HAS_GUC_UCODE/HAS_GUC_SCHED 2016-05-23 14:21:52 +01:00
intel_psr.c drm/i915/psr: Use ->get_aux_send_ctl functions 2016-05-20 09:53:52 +02: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: Stop automatically retiring requests after a GPU hang 2016-05-13 12:39:20 +01:00
intel_ringbuffer.h drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
intel_runtime_pm.c drm/i915: Update RAWCLK_FREQ register on VLV/CHV 2016-04-27 20:38:57 +03:00
intel_sdvo.c
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c drm/i915: Unify unpin_work and mmio_work into flip_work, v2. 2016-05-19 14:37:17 +02:00
intel_tv.c
intel_uncore.c drm/i915/guc: distinguish HAS_GUC() from HAS_GUC_UCODE/HAS_GUC_SCHED 2016-05-23 14:21:52 +01:00
intel_vbt_defs.h drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT 2016-05-09 14:09:38 +03:00
Kconfig
Kconfig.debug drm/i915: Add GEM debugging Kconfig option 2016-04-14 10:45:40 +01:00
Makefile drm/i915/dsi: Add DCS control for Panel PWM 2016-05-17 16:12:38 +03:00