linux/drivers/gpu/drm/i915
Chris Wilson 7ec2c73b1d drm/i915: Check the CPU cached value in HWS of seqno after waking the waiter
If we have multiple waiters, we may find that many complete on the same
wake up. If we first inspect the seqno from the CPU cache, we may reduce
the number of heavyweight coherent seqno reads we require.

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-13-git-send-email-chris@chris-wilson.co.uk
2016-07-01 21:00:54 +01:00
..
gvt drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
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: Use HWS for seqno tracking everywhere 2016-07-01 20:58:48 +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: Check the CPU cached value in HWS of seqno after waking the waiter 2016-07-01 21:00:54 +01:00
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_gem.c drm/i915: Spin after waking up for an interrupt 2016-07-01 20:58:47 +01:00
i915_gem.h
i915_gpu_error.c drm/i915: Use HWS for seqno tracking everywhere 2016-07-01 20:58:48 +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: Remove one unnecessary variable 2016-06-21 15:43:32 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Add a delay between interrupt and inspecting the final seqno (ilk) 2016-07-01 21:00:53 +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_points.c
i915_trace.h drm/i915: Use HWS for seqno tracking everywhere 2016-07-01 20:58:48 +01:00
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_plane.c drm/i915: Revert async unpin and nonblocking atomic commit 2016-06-01 09:46:46 +02:00
intel_atomic.c drm: Consolidate plane arrays in drm_atomic_state 2016-06-02 17:20:25 +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_breadcrumbs.c drm/i915: Use HWS for seqno tracking everywhere 2016-07-01 20:58:48 +01:00
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: Spin after waking up for an interrupt 2016-07-01 20:58:47 +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_dp.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:14 +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_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_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_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_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_guc.h drm/i915/guc: index host arrays by i915 engine ID, not guc_id 2016-06-21 11:24:25 +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: Refactor scratch object allocation for gen2 w/a buffer 2016-07-01 21:00:50 +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: Spin after waking up for an interrupt 2016-07-01 20:58:47 +01: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_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: Add a delay between interrupt and inspecting the final seqno (ilk) 2016-07-01 21:00:53 +01:00
intel_ringbuffer.h drm/i915: Refactor scratch object allocation for gen2 w/a buffer 2016-07-01 21:00:50 +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_regs.h
intel_sdvo.c drm/i915: Move connector registration to driver registration 2016-06-24 14:43:26 +01:00
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: Slaughter the thundering i915_wait_request herd 2016-07-01 20:58:43 +01:00