linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 611cdf3695 drm/i915: Disable EXEC_OBJECT_ASYNC when doing relocations
If we write a relocation into the buffer, we require our own implicit
synchronisation added after the start of the execbuf, outside of the
user's control. As we may end up clflushing, or doing the patch itself
on the GPU, asynchronously we need to look at the implicit serialisation
on obj->resv and hence need to disable EXEC_OBJECT_ASYNC for this
object.

If the user does trigger a stall for relocations, we make sure the stall
is complete enough so that the batch is not submitted before we complete
those relocations.

Fixes: 77ae995789 ("drm/i915: Enable userspace to opt-out of implicit fencing")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
(cherry picked from commit 071750e550)
[danvet: Resolve conflicts, resolution reviewed by Tvrtko on irc.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-06-26 10:43:26 +02:00
..
gvt drm/i915/gvt: clean up unsubmited workloads before destroying kmem cache 2017-05-24 10:33:37 +08:00
selftests drm/i915/selftests: Silence compiler warning in igt_ctx_exec 2017-05-24 15:34:22 +03: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/cmdparser: Limit clflush to active cachelines 2017-03-10 13:02:34 +00:00
i915_debugfs.c drm/i915: Hold struct_mutex for per-file stats in debugfs/i915_gem_object 2017-06-26 09:53:47 +02:00
i915_drv.c drm/i915: Prevent the system suspend complete optimization 2017-06-07 16:31:13 +03:00
i915_drv.h drm/i915: Serialize GTT/Aperture accesses on BXT 2017-06-07 12:23:19 +03:00
i915_gem_batch_pool.c drm/i915: Retire an active batch pool object rather than allocate new 2017-03-17 17:57:20 +00:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Wait for all fences before installing an exclusive clflush fence 2017-03-23 12:02:53 +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: Disable MI_SET_CONTEXT psmi w/a for bdw 2017-03-24 17:10:10 +00:00
i915_gem_context.h drm/i915: make context status notifier head be per engine 2017-03-21 16:51:47 +02:00
i915_gem_dmabuf.c dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro 2017-04-20 13:47:46 +05:30
i915_gem_evict.c drm/i915: Move retire-requests into i915_gem_wait_for_idle() 2017-03-31 12:03:46 +01:00
i915_gem_execbuffer.c drm/i915: Disable EXEC_OBJECT_ASYNC when doing relocations 2017-06-26 10:43:26 +02:00
i915_gem_fence_reg.c drm/i915: Take rpm wakelock for releasing the fence on unbind 2017-03-06 14:38:18 +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: Guard against i915_ggtt_disable_guc() being invoked unconditionally 2017-06-07 16:31:27 +03:00
i915_gem_gtt.h drm/i915: Avoid using word legacy with ppgtt 2017-03-03 16:46:23 +02:00
i915_gem_internal.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
i915_gem_object.h drm/i915: Use pagecache write to prepopulate shmemfs from pwrite-ioctl 2017-03-09 10:46:07 +02:00
i915_gem_render_state.c scripts/spelling.txt: add "aligment" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
i915_gem_render_state.h
i915_gem_request.c drm/i915: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
i915_gem_request.h Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-10 10:30:46 -07:00
i915_gem_shrinker.c drm/i915: Do not sync RCU during shrinking 2017-05-18 14:15:20 +03:00
i915_gem_stolen.c drm/i915/gvt: Disable access to stolen memory as a guest 2017-02-16 11:59:13 +02:00
i915_gem_tiling.c drm/i915: Fix logical inversion for gen4 quirking 2017-06-07 16:31:34 +03: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: Keep a global seqno per-engine 2017-02-23 14:49:26 +00:00
i915_gem_userptr.c drm/i915/userptr: Reinvent GGTT self-faulting protection 2017-03-16 10:21:25 +00:00
i915_gem.c drm/i915: Remove __GFP_NORETRY from our buffer allocator 2017-06-19 11:20:03 +03:00
i915_gem.h drm/i915: Rename conditional GEM execution macros 2017-02-10 21:43:43 +00:00
i915_gpu_error.c drm/i915: Split breadcrumbs spinlock into two 2017-03-03 20:19:13 +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: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
i915_ioc32.c
i915_irq.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
i915_memcpy.c
i915_mm.c
i915_oa_hsw.c
i915_oa_hsw.h
i915_params.c drm/i915/uc: Add params for specifying firmware 2017-03-15 14:26:30 +02:00
i915_params.h drm/i915/uc: Add params for specifying firmware 2017-03-15 14:26:30 +02:00
i915_pci.c drm/i915: Restore has_fbc=1 for ILK-M 2017-06-07 16:31:47 +03:00
i915_perf.c drm/i915/perf: remove user triggerable warn 2017-03-29 13:52:25 +03:00
i915_pvinfo.h drm/i915: Fix GVT-g PVINFO version compatibility check 2017-06-13 11:19:22 +03:00
i915_reg.h drm/i915: Fix new -Wint-in-bool-context gcc compiler warning 2017-05-18 15:42:28 +03: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
i915_sw_fence.c gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
i915_sw_fence.h
i915_sysfs.c drm/i915: Return residency as microseconds 2017-03-16 12:28:28 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Avoid use-after-free of ctx in request tracepoints 2017-03-17 07:59:48 +00:00
i915_utils.h drm/i915: Move WARN_ON/MISSING_CASE macros to i915_utils.h 2017-03-29 11:10:28 +01:00
i915_vgpu.c drm/i915: Fix GVT-g PVINFO version compatibility check 2017-06-13 11:19:22 +03:00
i915_vgpu.h
i915_vma.c drm/i915: Retire the VMA's fence tracker before unbinding 2017-06-26 09:53:39 +02: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_plane.c drm/i915: Add plane update/disable tracepoints 2017-03-03 16:50:10 +02:00
intel_atomic.c drm/i915: Skip useless watermark/FIFO related work on VLV/CHV when not needed 2017-03-03 16:50:10 +02:00
intel_audio.c Merge tag 'drm-intel-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-03-08 12:41:47 +10:00
intel_bios.c drm/i915/vbt: split out defaults that are set when there is no VBT 2017-03-14 10:49:13 +02: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: Apply a cond_resched() to the saturated signaler 2017-04-26 16:27:58 +03:00
intel_cdclk.c drm/i915: Fix rawclk readout for g4x 2017-05-15 14:44:17 +03:00
intel_color.c drm/i915/glk: Improve rounding caused by pre-CSC gamma tables 2017-03-14 16:07:00 +02:00
intel_crt.c drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. 2017-04-06 21:29:23 +02:00
intel_csr.c drm/i915: update the firmware download URL 2017-03-28 11:17:37 +03:00
intel_ddi.c drm/i915: make a few DDI functions static 2017-03-31 11:32:41 -03:00
intel_device_info.c drm/i915/glk: Enable pooled EUs for Geminilake 2017-03-17 17:05:36 +02:00
intel_display.c drm/i915: Plumb the correct acquire ctx into intel_crtc_disable_noatomic() 2017-06-19 11:20:16 +03:00
intel_dp_aux_backlight.c drm/i915: Don't enable backlight at setup time. 2017-06-19 22:15:15 +03:00
intel_dp_link_training.c Revert "drm/i915: Implement Link Rate fallback on Link training failure" 2017-03-02 09:17:16 +01:00
intel_dp_mst.c drm/i915: Detect USB-C specific dongles before reducing M and N 2017-05-29 13:43:47 +03:00
intel_dp.c drm/i915: Detect USB-C specific dongles before reducing M and N 2017-05-29 13:43:47 +03:00
intel_dpio_phy.c
intel_dpll_mgr.c Linux 4.10-rc8 2017-02-23 12:10:12 +10: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: use drm DP helper to read DPCD desc 2017-05-29 13:37:46 +03:00
intel_dsi_dcs_backlight.c
intel_dsi_pll.c drm/i915/glk: Validate only DSI PORT A PLL divider 2017-02-28 11:54:52 +02:00
intel_dsi_vbt.c drm/i915/dsi: rename intel_dsi_panel_vbt.c to intel_dsi_vbt.c 2017-03-07 15:18:24 +02:00
intel_dsi.c drm/i915/glk: Fix DSI "*ERROR* ULPS is still active" messages 2017-05-15 14:44:04 +03:00
intel_dsi.h drm/i915/dsi: arrange intel_dsi.h according to relevant files 2017-03-07 15:18:43 +02:00
intel_dvo.c drm/i915: Store encoder power domain in struct intel_encoder 2017-02-27 09:07:51 +02:00
intel_engine_cs.c drm/i915: fix warning for unused variable 2017-06-08 17:09:44 +03:00
intel_fbc.c drm/i915: Fix 90/270 rotated coordinates for FBC 2017-06-07 16:32:09 +03:00
intel_fbdev.c drm/i915/fbdev: Stop repeating tile configuration on stagnation 2017-03-09 10:43:17 +02:00
intel_fifo_underrun.c drm/i915: Add FIFO underrun tracepoints 2017-03-03 16:50:11 +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/guc: Split out the mmio_white_list struct 2017-03-23 14:58:50 +02:00
intel_guc_loader.c drm/i915/uc: Move intel_uc_fw_status_repr() to intel_uc.h 2017-03-31 10:39:39 +03:00
intel_guc_log.c drm/i915/guc: Break out the GuC log extras into their own "runtime" struct 2017-03-23 14:58:02 +02:00
intel_gvt.c drm/i915/gvt: Turn on KBL platform support. 2017-03-29 15:28:51 +08:00
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: allow HDMI 2.0 clock rates 2017-03-28 10:17:49 +03:00
intel_hotplug.c drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. 2017-04-06 21:29:23 +02:00
intel_huc.c drm/i915/huc: Remove unused intel_huc_fini() 2017-03-31 10:39:39 +03:00
intel_i2c.c drm/i915: Introduce IS_GEN9_BC for Skylake and Kabylake. 2017-01-24 10:29:00 -08:00
intel_lpe_audio.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
intel_lrc.c drm/i915: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
intel_lrc.h drm/i915: Move engine->submit_request selection to a vfunc 2017-03-16 17:17:12 +00:00
intel_lspcon.c drm/i915: use drm DP helper to read DPCD desc 2017-05-29 13:37:46 +03:00
intel_lvds.c drm/i915: Store encoder power domain in struct intel_encoder 2017-02-27 09:07:51 +02:00
intel_mocs.c drm/i915: Emit to ringbuffer directly 2017-02-14 14:30:46 +00:00
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915/opregion: debug log about invalid ACPI OpRegion VBT 2017-03-30 09:12:36 +03:00
intel_overlay.c drm/i915: Remove superfluous i915_add_request_no_flush() helper 2017-03-17 13:03:25 +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: Remove drm_modeset_legacy_acquire_ctx and crtc->acquire_ctx 2017-04-05 09:26:45 +02:00
intel_pm.c drm/i915: Fix SKL+ watermarks for 90/270 rotation 2017-06-13 10:53:43 +03:00
intel_psr.c drm/i915/psr: disable psr2 for resolution greater than 32X20 2017-06-07 16:31:06 +03: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: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
intel_ringbuffer.h drm/i915: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
intel_runtime_pm.c drm/i915: WARN if the core runtime PM get helpers fail 2017-03-28 16:02:10 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Store encoder power domain in struct intel_encoder 2017-02-27 09:07:51 +02:00
intel_sideband.c drm/i915: Distinguish between timeout and error in sideband transactions 2017-02-27 17:22:19 +00:00
intel_sprite.c drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail 2017-06-07 16:31:39 +03:00
intel_tv.c drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. 2017-04-06 21:29:23 +02:00
intel_uc.c drm/i915/uc: Move fw path check to fetch_uc_fw() 2017-03-31 10:39:40 +03:00
intel_uc.h drm/i915/guc: Remove stale comment for q_fail 2017-06-07 16:30:38 +03:00
intel_uncore.c drm/i915: All fw_domains share the same set/clear/reset values 2017-03-23 10:22:04 +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
Kconfig Merge tag 'topic/designware-baytrail-2017-03-02' of git://anongit.freedesktop.org/git/drm-intel into drm-intel-next-queued 2017-03-13 09:26:06 +01:00
Kconfig.debug drm/i915: Make vblank evade warnings optional 2017-05-12 14:28:02 +10:00
Makefile Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2017-03-08 10:54:45 +01:00