linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson e85ade1f50 drm/i915: Hold reference to intel_frontbuffer as we track activity
Since obj->frontbuffer is no longer protected by the struct_mutex, as we
are processing the execbuf, it may be removed. Mark the
intel_frontbuffer as rcu protected, and so acquire a reference to
the struct as we track activity upon it.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/827
Fixes: 8e7cb1799b ("drm/i915: Extract intel_frontbuffer active tracking")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: <stable@vger.kernel.org> # v5.4+
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191218104043.3539458-1-chris@chris-wilson.co.uk
(cherry picked from commit da42104f58)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2019-12-23 14:27:23 +02:00
..
display drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-23 14:27:23 +02:00
gem drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-23 14:27:23 +02:00
gt drm/i915/gt: Ratelimit display power w/a 2019-12-23 14:25:27 +02:00
gvt drm/i915/gvt: Fix guest boot warning 2019-12-17 11:19:58 +08:00
oa drm/i915/tgl: Add perf support on TGL 2019-10-29 12:53:54 +02:00
selftests drm/i915/gt: Call intel_gt_sanitize() directly 2019-11-05 16:04:16 +02:00
i915_active_types.h drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree 2019-11-20 11:53:00 +02:00
i915_active.c drm msm + fixes for 5.5-rc1 2019-12-06 10:28:09 -08:00
i915_active.h drm/i915/selftests: Pretty print the i915_active 2019-10-31 14:43:14 +00:00
i915_buddy.c
i915_buddy.h
i915_cmd_parser.c drm/i915/cmdparser: Fix jump whitelist clearing 2019-11-11 08:13:49 -08:00
i915_debugfs.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_debugfs.h
i915_drv.c drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
i915_drv.h drm/i915/guc: Skip suspend/resume GuC action on platforms w/o GuC submission 2019-11-18 16:36:44 +02:00
i915_fixed.h
i915_gem_evict.c drm/i915: Move request runtime management onto gt 2019-10-04 15:39:26 +01:00
i915_gem_fence_reg.c drm/i915: set num_fence_regs to 0 if there is no aperture 2019-10-29 10:35:47 +00:00
i915_gem_fence_reg.h drm/i915: Store i915_ggtt as the backpointer on fence registers 2019-10-16 19:41:36 +01:00
i915_gem_gtt.c drm/i915: Leave the aliasing-ppgtt size alone 2019-11-11 10:30:02 +02:00
i915_gem_gtt.h drm/i915: define i915_ggtt_has_aperture 2019-10-29 10:31:40 +00:00
i915_gem.c drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-23 14:27:23 +02:00
i915_gem.h drm/i915/execlists: Force preemption 2019-10-23 23:52:10 +01:00
i915_getparam.c Backmerge i915 security patches from commit 'ea0b163b13ff' into drm-next 2019-11-14 11:09:06 +10:00
i915_globals.c
i915_globals.h
i915_gpu_error.c drm/i915: Avoid atomic context for error capture 2019-11-18 16:36:14 +02:00
i915_gpu_error.h drm/i915/tgl: Add gam instdone 2019-10-30 09:15:27 +00:00
i915_ioc32.c
i915_irq.c drm/i915/tgl: Handle AUX interrupts for TC ports 2019-10-28 08:27:04 -07:00
i915_irq.h drm/i915: Extract the GuC interrupt handlers 2019-10-26 19:28:59 +01:00
i915_memcpy.c
i915_memcpy.h
i915_mm.c
i915_params.c drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
i915_params.h drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
i915_pci.c drm/i915/display/cnl+: Handle fused off DSC 2019-10-29 12:12:49 -07:00
i915_perf_types.h drm/i915/perf: Describe structure members in documentation 2019-10-24 15:01:35 +01:00
i915_perf.c drm/i915/perf: Configure OAR for specific context 2019-12-10 12:37:52 +02:00
i915_perf.h drm/i915/perf: introduce a versioning of the i915-perf uapi 2019-10-14 21:30:25 +01:00
i915_pmu.c drm/i915/pmu: Ensure monotonic rc6 2019-12-23 14:17:22 +02:00
i915_pmu.h drm/i915/pmu: Ensure monotonic rc6 2019-12-23 14:17:22 +02:00
i915_priolist_types.h drm/i915/gt: Replace hangcheck by heartbeats 2019-10-23 23:52:10 +01:00
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/tgl: Drop Wa#1178 2019-12-16 11:38:07 +02:00
i915_request.c drm/i915: Copy across scheduler behaviour flags across submit fences 2019-12-16 11:38:07 +02:00
i915_request.h drm/i915: Mark up "sentinel" requests 2019-10-12 08:51:17 +01:00
i915_scatterlist.c
i915_scatterlist.h
i915_scheduler_types.h drm/i915: Note the addition of timeslicing to the pretend scheduler 2019-10-11 09:36:16 +01:00
i915_scheduler.c drm/i915: Copy across scheduler behaviour flags across submit fences 2019-12-16 11:38:07 +02:00
i915_scheduler.h drm/i915/execlists: Don't merely skip submission if maybe timeslicing 2019-10-18 11:23:26 +01:00
i915_selftest.h
i915_suspend.c drm/i915: Drop struct_mutex from suspend state save/restore 2019-10-04 15:39:41 +01:00
i915_suspend.h
i915_sw_fence_work.c drm/i915: Set fence_work.ops before dma_fence_init 2019-12-16 11:38:07 +02:00
i915_sw_fence_work.h
i915_sw_fence.c
i915_sw_fence.h
i915_switcheroo.c drm/i915: split out i915_switcheroo.[ch] from i915_drv.c 2019-10-06 11:25:00 +03:00
i915_switcheroo.h drm/i915: split out i915_switcheroo.[ch] from i915_drv.c 2019-10-06 11:25:00 +03:00
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_sysfs.h
i915_trace_points.c
i915_trace.h drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915: Rename "inject_load_failure" module parameter 2019-10-29 15:37:57 +00:00
i915_utils.h drm/i915: Fix i915_inject_load_error() name to read *_probe_* 2019-10-29 15:37:57 +00:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-23 14:27:23 +02:00
i915_vma.h drm/i915: Lift i915_vma_parked() onto the gt 2019-10-21 21:07:56 +01:00
intel_csr.c drm/i915/dmc: Update ICL DMC version to v1.09 2019-09-27 10:20:39 -07:00
intel_csr.h
intel_device_info.c drm/i915/display/cnl+: Handle fused off DSC 2019-10-29 12:12:49 -07:00
intel_device_info.h drm/i915/display/cnl+: Handle fused off DSC 2019-10-29 12:12:49 -07:00
intel_gvt.c
intel_gvt.h
intel_memory_region.c drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_memory_region.h drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_pch.c drm/i915: Fix detection for a CMP-V PCH 2019-11-18 16:36:03 +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: Fix WARN_ON condition for cursor plane ddb allocation 2019-12-17 12:23:40 +02:00
intel_pm.h drm/i915/gen8+: Add RC6 CTX corruption WA 2019-11-05 11:43:07 -08:00
intel_region_lmem.c drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_region_lmem.h drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_runtime_pm.c drm/i915/display: abstract all vgaarb access to intel_vga.[ch] 2019-10-02 13:31:54 +03:00
intel_runtime_pm.h
intel_sideband.c
intel_sideband.h
intel_uncore.c
intel_uncore.h
intel_wakeref.c drm/i915: Mark up the calling context for intel_wakeref_put() 2019-11-25 15:29:17 +02:00
intel_wakeref.h drm/i915: Mark up the calling context for intel_wakeref_put() 2019-11-25 15:29:17 +02:00
intel_wopcm.c
intel_wopcm.h
Kconfig drm/i915: Put future HW and their uAPIs under STAGING & BROKEN 2019-10-27 15:47:10 +00:00
Kconfig.debug Kbuild updates for v5.5 2019-12-02 17:35:04 -08:00
Kconfig.profile drm/i915: Default to a more lenient forced preemption timeout 2019-11-27 10:12:14 +02:00
Kconfig.unstable drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
Makefile drm/i915/tgl: Add perf support on TGL 2019-10-29 12:53:54 +02:00