linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 36c8e356a7 drm/i915/gem: Take local vma references for the parser
Take and hold a reference to each of the vma (and their objects) as we
process them with the cmdparser. This stops them being freed during the
work if the GEM execbuf is interrupted and the request we expected to
keep the objects alive is incomplete.

Fixes: 686c7c35ab ("drm/i915/gem: Asynchronous cmdparser")
Closes: https://gitlab.freedesktop.org/drm/intel/issues/970
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200113154555.1909639-1-chris@chris-wilson.co.uk
2020-01-14 15:25:12 +00:00
..
display drm/i915: Use the passed in encoder 2020-01-13 20:12:46 +02:00
gem drm/i915/gem: Take local vma references for the parser 2020-01-14 15:25:12 +00:00
gt drm/i915/guc: Use correct name for last CT fence 2020-01-14 13:07:39 +00:00
gvt drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
oa drm/i915: reimplement header test feature 2020-01-02 12:24:10 +02:00
selftests drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
.gitignore drm/i915: reimplement header test feature 2020-01-02 12:24:10 +02:00
i915_active_types.h drm/i915: Serialise i915_active_fence_set() with itself 2019-11-27 17:02:14 +00:00
i915_active.c drm/i915/gt: Drop mutex serialisation between context pin/unpin 2020-01-06 14:38:57 +00:00
i915_active.h drm/i915: Specialise i915_active.work lock classes 2019-12-02 21:57:23 +00:00
i915_buddy.c drn/i915: Break up long i915_buddy_free_list() with a cond_resched() 2019-12-30 12:10:38 +00:00
i915_buddy.h
i915_cmd_parser.c Correct function name in comment 2019-12-16 23:13:12 +00:00
i915_debugfs.c drm/i915: Pass intel_encoder to enc_to_*() 2020-01-13 20:10:51 +02:00
i915_debugfs.h
i915_drv.c Merge drm/drm-next into drm-intel-next-queued 2020-01-09 17:19:12 +02:00
i915_drv.h drm/i915: Update DRIVER_DATE to 20200114 2020-01-14 13:39:38 +02:00
i915_fixed.h
i915_gem_evict.c drm/i915: Ignore most failures during evict-vm 2019-12-05 13:50:39 +00:00
i915_gem_fence_reg.c drm/i915: Early return for no-op i915_vma_pin_fence() 2020-01-09 08:53:15 +00:00
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
i915_gem_gtt.h drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
i915_gem.c drm/i915: Create dumb buffer from LMEM 2020-01-05 01:09:18 +00:00
i915_gem.h i915 features for v5.6: 2019-12-27 15:25:04 +10:00
i915_getparam.c drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET 2019-12-04 15:11:44 +00:00
i915_globals.c drm/i915: Ratelimit i915_globals_park 2019-12-18 17:38:56 +00:00
i915_globals.h
i915_gpu_error.c drm/i915: Drop request list from error state 2020-01-10 15:34:33 +00:00
i915_gpu_error.h drm/i915: Fix too few arguments to function i915_capture_error_state 2020-01-13 20:57:05 +00:00
i915_ioc32.c
i915_irq.c drm/i915: prefer 3-letter acronym for ivybridge 2019-12-28 13:38:08 -08:00
i915_irq.h
i915_memcpy.c drm/i915: Align start for memcpy_from_wc 2019-12-11 22:40:41 +00:00
i915_memcpy.h drm/i915: Align start for memcpy_from_wc 2019-12-11 22:40:41 +00:00
i915_mm.c drm/i915/gem: Extend mmap support for lmem 2020-01-04 17:57:46 +00:00
i915_params.c
i915_params.h
i915_pci.c drm/i915: simplify prefixes on device_info 2019-12-28 13:37:56 -08:00
i915_perf_types.h drm/i915/perf: Register sysctl path globally 2019-12-13 20:16:23 +00:00
i915_perf.c drm/i915: Pin the context as we work on it 2020-01-09 12:50:26 +00:00
i915_perf.h drm/i915/perf: Register sysctl path globally 2019-12-13 20:16:23 +00:00
i915_pmu.c drm/i915/pmu: Correct the rc6 offset upon enabling 2020-01-14 12:55:13 +00:00
i915_pmu.h drm/i915/pmu: Ensure monotonic rc6 2019-12-18 15:23:41 +00:00
i915_priolist_types.h
i915_pvinfo.h
i915_query.c drm/i915/query: Align flavour of engine data lookup 2019-11-25 15:08:24 +02:00
i915_query.h
i915_reg.h drm/i915/display/icl+: Do not program clockgating 2020-01-08 08:32:48 -08:00
i915_request.c drm/i915: Merge i915_request.flags with i915_request.fence.flags 2020-01-06 14:38:55 +00:00
i915_request.h drm/i915: Merge i915_request.flags with i915_request.fence.flags 2020-01-06 14:38:55 +00:00
i915_scatterlist.c
i915_scatterlist.h
i915_scheduler_types.h
i915_scheduler.c drm/i915: Drop GEM context as a direct link from i915_request 2019-12-20 10:52:21 +00:00
i915_scheduler.h drm/i915: Use a ctor for TYPESAFE_BY_RCU i915_request 2019-11-22 10:47:38 +00:00
i915_selftest.h
i915_suspend.c
i915_suspend.h
i915_sw_fence_work.c drm/i915: Unpin vma->obj on early error 2019-12-18 10:13:03 +00:00
i915_sw_fence_work.h
i915_sw_fence.c drm/i915: Propagate errors on awaiting already signaled dma-fences 2019-12-06 19:09:46 +00:00
i915_sw_fence.h drm/i915: Check for error before calling cmpxchg() 2019-12-06 19:09:33 +00:00
i915_switcheroo.c
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: Start chopping up the GPU error capture 2020-01-10 15:34:33 +00:00
i915_sysfs.h
i915_trace_points.c
i915_trace.h drm/i915: Rename pipe update tracepoints 2019-12-19 22:29:58 +02:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
i915_utils.h drm/i915: Improve i915_inject_probe_error macro 2019-12-12 12:35:17 +00:00
i915_vgpu.c
i915_vgpu.h
i915_vma_types.h drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
i915_vma.c drm/i915/gt: Hold rpm wakeref before taking ggtt->vm.mutex 2020-01-10 20:30:40 +00:00
i915_vma.h drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
intel_csr.c
intel_csr.h
intel_device_info.c drm/i915/tgl: Assume future platforms will inherit TGL's SFC capability 2019-12-31 09:37:35 -08:00
intel_device_info.h drm/i915: Flesh out device_info pretty printer 2019-12-09 09:58:51 +00:00
intel_gvt.c
intel_gvt.h
intel_memory_region.c drm/i915: lookup for mem_region of a mem_type 2020-01-05 01:08:09 +00:00
intel_memory_region.h drm/i915: lookup for mem_region of a mem_type 2020-01-05 01:08:09 +00:00
intel_pch.c drm/i915/pch: convert to using the drm_dbg_kms() macro. 2020-01-10 16:10:35 +02:00
intel_pch.h drm/i915: Fix detection for a CMP-V PCH 2019-11-18 16:36:03 +02:00
intel_pm.c drm/i915/pm: use new struct drm_device logging macros. 2020-01-10 16:10:56 +02:00
intel_pm.h drm/i915: Pass dev_priv to ilk_disable_lp_wm() 2019-12-04 15:37:30 +02:00
intel_region_lmem.c drm/i915/lmem: use new struct drm_device based logging macros. 2020-01-10 16:11:04 +02:00
intel_region_lmem.h
intel_runtime_pm.c
intel_runtime_pm.h
intel_sideband.c drm/i915/sideband: convert to using new struct drm_device logging macros 2020-01-10 16:11:48 +02:00
intel_sideband.h
intel_uncore.c drm/i915/uncore: use new struct drm_device based macros. 2020-01-10 16:12:25 +02:00
intel_uncore.h
intel_wakeref.c drm/i915/gt: Flush ongoing retires during wait_for_idle 2020-01-03 00:33:07 +00:00
intel_wakeref.h drm/i915/gt: Flush ongoing retires during wait_for_idle 2020-01-03 00:33:07 +00:00
intel_wopcm.c
intel_wopcm.h
Kconfig
Kconfig.debug Merge drm/drm-next into drm-intel-next-queued 2019-12-11 11:13:50 +02:00
Kconfig.profile drm/i915: Default to a more lenient forced preemption timeout 2019-11-27 10:12:14 +02:00
Kconfig.unstable
Makefile drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00