OpenCloudOS-Kernel/drivers/gpu/drm/i915
Chris Wilson 309663ab7b drm/i915: Check against the signaled bit for fences/requests
When dma_fence_signal() is called, it sets a flag to indicate the fence
is complete. Before the dma_fence is signaled, the seqno check will
first be passed. During an unlocked check (such as inside a waiter), it
is possible for the fence to be signaled even though the seqno has been
reset (by engine wraparound). In this case the waiter will be kicked,
but for an extra layer of protection we can check the persistent
signaled bit from the fence.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170223074422.4125-2-chris@chris-wilson.co.uk
2017-02-23 14:49:25 +00:00
..
gvt drm/i915: Emit to ringbuffer directly 2017-02-14 14:30:46 +00:00
selftests drm/i915: Convert clflushed pagetables over to WC maps 2017-02-15 10:07:18 +00:00
Kconfig drm/i915: Support explicit fencing for execbuf 2017-01-27 19:55:48 +00:00
Kconfig.debug drm/i915/tracepoints: Add request submit and execute tracepoints 2017-02-21 13:18:14 +00:00
Makefile drm/i915: Perform object clflushing asynchronously 2017-02-22 12:12:15 +00: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: Consolidate checks for memcpy-from-wc support 2017-01-06 16:02:07 +00:00
i915_debugfs.c drm/i915: Add i915_param charp macro magic 2017-02-22 10:32:35 +00:00
i915_drv.c drm/i915: Fix typo in semaphore debug message 2017-02-20 11:24:58 +00:00
i915_drv.h drm/i915: Check against the signaled bit for fences/requests 2017-02-23 14:49:25 +00:00
i915_gem.c drm/i915: Remove 'retire' parameter from intel_fb_obj_flush 2017-02-22 12:12:17 +00:00
i915_gem.h drm/i915: Rename conditional GEM execution macros 2017-02-10 21:43:43 +00:00
i915_gem_batch_pool.c drm/i915: Use reservation_object_lock() 2017-02-21 12:48:51 +00:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Remove 'retire' parameter from intel_fb_obj_flush 2017-02-22 12:12:17 +00:00
i915_gem_clflush.h drm/i915: Perform object clflushing asynchronously 2017-02-22 12:12:15 +00:00
i915_gem_context.c drm/i915/gvt: set ring buffer size to default for guc submission 2017-02-22 10:17:56 +00:00
i915_gem_context.h drm/i915: Simplify testing for am-I-the-kernel-context? 2017-01-06 16:02:12 +00:00
i915_gem_dmabuf.c drm/i915: Add some mock tests for dmabuf interop 2017-02-13 20:45:50 +00:00
i915_gem_evict.c drm/i915: Remove i915_address_space.start 2017-02-15 10:07:32 +00:00
i915_gem_execbuffer.c drm/i915: Perform object clflushing asynchronously 2017-02-22 12:12:15 +00:00
i915_gem_fence_reg.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_fence_reg.h drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_gtt.c drm/i915: Remove Braswell GGTT update w/a 2017-02-23 09:30:39 +00:00
i915_gem_gtt.h drm/i915: Use preferred kernel types in i915_gem_gtt.c 2017-02-15 10:07:35 +00:00
i915_gem_internal.c drm/i915: Recreate internal objects with single page segments if dmar fails 2017-02-03 09:55:58 +00:00
i915_gem_object.h drm/i915: Amalgamate flushing of display objects 2017-02-22 12:12:13 +00:00
i915_gem_render_state.c drm/i915: Remove i915_vma_create from VMA API 2017-01-19 10:17:39 +00:00
i915_gem_render_state.h drm/i915: Reuse the active golden render state batch 2016-10-28 20:53:44 +01:00
i915_gem_request.c drm/i915/tracepoints: Add request submit and execute tracepoints 2017-02-21 13:18:14 +00:00
i915_gem_request.h drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff 2017-01-03 11:41:17 +02:00
i915_gem_shrinker.c drm/i915: Remove struct_mutex for destroying framebuffers 2017-02-16 20:31:13 +00:00
i915_gem_stolen.c drm/i915/gvt: Disable access to stolen memory as a guest 2017-02-14 09:28:34 +00:00
i915_gem_tiling.c drm/i915: Remove struct_mutex for destroying framebuffers 2017-02-16 20:31:13 +00:00
i915_gem_timeline.c drm/i915: Assert all timeline requests are gone before fini 2017-01-05 15:34:40 +00:00
i915_gem_timeline.h drm/i915: Rename i915_gem_timeline.next_seqno to .seqno 2016-11-25 07:01:11 +00:00
i915_gem_userptr.c Linux 4.10-rc2 2017-01-04 11:35:18 +01:00
i915_gpu_error.c drm/i915: Add i915_param charp macro magic 2017-02-22 10:32:35 +00:00
i915_guc_reg.h drm/i915/huc: Add HuC fw loading support 2017-01-19 11:18:55 +02:00
i915_guc_submission.c drm/i915/tracepoints: Add backend level request in and out tracepoints 2017-02-21 13:18:25 +00:00
i915_ioc32.c
i915_irq.c drm/i915/tracepoints: Rename i915_gem_request_notify 2017-02-21 13:18:19 +00:00
i915_memcpy.c
i915_mm.c
i915_oa_hsw.c drm/i915: Add more Haswell OA metric sets 2016-11-22 14:40:00 +01:00
i915_oa_hsw.h drm/i915: advertise available metrics via sysfs 2016-11-22 14:38:51 +01:00
i915_params.c drm/i915: Enable atomic support by default on supported platforms. 2017-02-09 15:56:45 +01:00
i915_params.h drm/i915: Use bool i915_param.alpha_support 2017-02-06 22:37:33 +00:00
i915_pci.c drm/i915: Provide a hook for selftests 2017-02-13 20:45:21 +00:00
i915_perf.c drm/i915: Simplify releasing context reference 2016-12-18 16:18:53 +00:00
i915_pvinfo.h
i915_reg.h drm/i915: Use the size/type of address space to make decisions 2017-02-09 17:09:27 +00:00
i915_selftest.h drm/i915: Use fault-injection to force the shrinker to run in live GTT tests 2017-02-13 20:46:32 +00:00
i915_suspend.c drm/i915: Make i915_save/restore_state and intel_i2c_reset take dev_priv 2016-12-01 18:01:23 +00:00
i915_sw_fence.c drm/i915: Flush the change in debugobject before reallocation 2017-01-16 12:21:19 +00:00
i915_sw_fence.h drm/i915: Hold a reference on the request for its fence chain 2016-12-05 11:00:32 +02:00
i915_sysfs.c drm/i915: The return of i915_gpu_info to debugfs 2017-02-14 22:30:22 +00:00
i915_trace.h drm/i915: Remove change_domain tracepoint 2017-02-22 12:12:11 +00:00
i915_trace_points.c
i915_utils.h drm/i915: Sanity check the computed size and base of stolen memory 2017-01-31 11:19:23 +00:00
i915_vgpu.c drm/i915: Remove i915_address_space.start 2017-02-15 10:07:32 +00:00
i915_vgpu.h
i915_vma.c drm/i915: Move allocate_va_range to GTT 2017-02-15 10:07:21 +00:00
i915_vma.h drm/i915: Exercise i915_vma_pin/i915_vma_insert 2017-02-13 20:46:41 +00:00
intel_acpi.c
intel_atomic.c drm/i915/glk: Fix Geminilake scalers mode programming 2017-02-23 14:57:01 +02:00
intel_atomic_plane.c drm/i915: Track pinned vma in intel_plane_state 2017-01-19 10:14:09 +00:00
intel_audio.c drm/i915: Start moving the cdclk stuff into a distinct state structure 2017-02-08 18:07:10 +02:00
intel_bios.c drm/i915: Use range_overflows() 2017-01-06 16:02:11 +00:00
intel_bios.h drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET 2016-12-20 16:28:25 +02:00
intel_breadcrumbs.c drm/i915: Only start with the fake-irq timer if interrupts are dead 2017-02-17 15:31:14 +00:00
intel_cdclk.c drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct .set_cdclk() hook 2017-02-08 18:07:11 +02:00
intel_color.c drm/i915/glk: Load the degamma LUT even in legacy gamma mode 2017-02-17 17:14:28 +02:00
intel_crt.c drm/i915: Don't leak edid in intel_crt_detect_ddc() 2017-01-23 10:26:18 +02:00
intel_csr.c drm/i915: DMC 1.03 for Geminilake 2017-02-20 10:35:03 +02:00
intel_ddi.c drm/i915: Remove unused function intel_ddi_get_link_dpll() 2017-02-10 11:40:27 +02:00
intel_device_info.c drm/i915/bxt: remove snooping workaround on old A revisions 2017-02-16 11:28:05 +02:00
intel_display.c drm/i915/glk: Pass dev_priv to intel_atomic_setup_scalers() 2017-02-23 14:56:51 +02:00
intel_dp.c Revert "drm/i915/dp: Ratelimit DP aux timeout messages" 2017-02-23 13:14:06 +00:00
intel_dp_aux_backlight.c
intel_dp_link_training.c
intel_dp_mst.c drm/i915: Fix POWER_DOMAIN_AUDIO refcounting. 2017-02-01 22:05:07 +01:00
intel_dpio_phy.c drm/i915: Only poll DW3_A when init DDI PHY for ports B and C. 2016-12-02 12:16:25 -08:00
intel_dpll_mgr.c drm/i915: Remove unused function intel_ddi_get_link_dpll() 2017-02-10 11:40:27 +02:00
intel_dpll_mgr.h drm/i915: Remove unused function intel_ddi_get_link_dpll() 2017-02-10 11:40:27 +02:00
intel_drv.h drm/i915/glk: Pass dev_priv to intel_atomic_setup_scalers() 2017-02-23 14:56:51 +02:00
intel_dsi.c drm/i915/bxt: Disable device ready before shutdown command 2017-02-16 17:22:09 +02:00
intel_dsi.h
intel_dsi_dcs_backlight.c
intel_dsi_panel_vbt.c drm/i915: Dump more configuration information for DSI 2017-02-14 22:29:28 +02:00
intel_dsi_pll.c drm/i915: Fix PLL 8x/3 divider for MIPI video mode 2017-02-15 17:32:57 +02:00
intel_dvo.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_engine_cs.c drm/i915: Move common workaround code to intel_engine_cs 2017-02-17 11:39:59 +00:00
intel_fbc.c drm/i915: Start moving the cdclk stuff into a distinct state structure 2017-02-08 18:07:10 +02:00
intel_fbdev.c drm/i915: Drop struct_mutex around frontbuffer flushes 2017-02-16 20:31:13 +00:00
intel_fifo_underrun.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_frontbuffer.c drm/i915: Remove 'retire' parameter from intel_fb_obj_flush 2017-02-22 12:12:17 +00:00
intel_frontbuffer.h drm/i915: Remove 'retire' parameter from intel_fb_obj_flush 2017-02-22 12:12:17 +00:00
intel_guc_fwif.h drm/i915/huc: Support HuC authentication 2017-01-19 11:19:07 +02:00
intel_guc_loader.c drm/i915/guc: Don't take struct_mutex for object unreference 2017-02-14 22:30:22 +00:00
intel_guc_log.c drm/i915/guc: Move GuC log related functions into dedicated file 2017-01-18 07:29:04 +00:00
intel_gvt.c
intel_gvt.h
intel_hangcheck.c drm/i915: Add initial selftests for hang detection and resets 2017-02-13 20:46:53 +00:00
intel_hdmi.c drm/i915: Remove WA for swapped HPD pins in broxton A stepping 2017-02-09 10:20:00 +02:00
intel_hotplug.c drm/i915: Only enable hotplug interrupts if the display interrupts are enabled 2017-02-16 09:56:43 +00:00
intel_huc.c drm/i915/guc: Don't take struct_mutex for object unreference 2017-02-14 22:30:22 +00:00
intel_i2c.c drm/i915: Introduce IS_GEN9_BC for Skylake and Kabylake. 2017-01-24 10:29:00 -08:00
intel_lrc.c drm/i915/tracepoints: Add backend level request in and out tracepoints 2017-02-21 13:18:25 +00:00
intel_lrc.h drm/i915: Split intel_engine allocation and initialisation 2017-01-24 12:29:47 +00:00
intel_lspcon.c drm/i915/lspcon: Remove DPCD compare based resume time workaround 2017-02-06 16:33:33 +02:00
intel_lvds.c drm/i915: Intel panel detection cleanup 2016-12-13 17:25:26 +02:00
intel_mocs.c drm/i915: Emit to ringbuffer directly 2017-02-14 14:30:46 +00:00
intel_mocs.h drm/i915: Make various init functions take dev_priv 2016-12-01 18:01:15 +00:00
intel_modes.c
intel_opregion.c drm/i915: Fix not finding the VBT when it overlaps with OPREGION_ASLE_EXT 2017-02-15 11:29:04 +02:00
intel_overlay.c drm/i915: Emit to ringbuffer directly 2017-02-14 14:30:46 +00:00
intel_panel.c drm/i915: Start moving the cdclk stuff into a distinct state structure 2017-02-08 18:07:10 +02:00
intel_pipe_crc.c drm/i915: Avoid drm_atomic_state_put(NULL) on error paths 2017-01-18 13:47:22 +00:00
intel_pm.c drm/i915: Remove unrequired POSTING_READ from gen6_set_rps() 2017-02-20 12:40:48 +00:00
intel_psr.c drm/i915/psr: Fix compiler warnings for hsw_psr_disable() 2017-01-18 10:25:01 +00: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: Assert that the request->tail is always qword aligned 2017-02-20 14:32:25 +00:00
intel_ringbuffer.h drm/i915: Postpone fake breadcrumb interrupt until real interrupts cease 2017-02-17 15:30:50 +00:00
intel_runtime_pm.c drm/i915: Add power well SW/HW state verification 2017-02-20 14:53:34 +02:00
intel_sdvo.c drm/i915: distinguish G33 and Pineview from each other 2016-12-07 23:28:33 +02:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Also clear the punit's PDATA sideband register 2017-01-26 17:10:36 +00:00
intel_sprite.c drm/i915/glk: Enable pipe CSC 2017-02-17 17:15:01 +02:00
intel_tv.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_uc.c drm/i915/guc: Move GuC log related functions into dedicated file 2017-01-18 07:29:04 +00:00
intel_uc.h drm/i915/huc: Support HuC authentication 2017-01-19 11:19:07 +02:00
intel_uncore.c drm/i915: Move uncore selfchecks to live selftest infrastructure 2017-02-13 20:45:47 +00:00
intel_vbt_defs.h drm/915: Parsing the missed out DTD fields from the VBT 2016-12-23 15:13:39 +02:00