linux-bl808/drivers/gpu/drm/i915
Chris Wilson 5a383d443b drm/i915/gt: Pin the rings before marking active
On eviction, we acquire the vm->mutex and then wait on the vma->active.
Therefore when binding and pinning the vma, we must follow the same
sequence, lock/pin the vma then mark it active. Otherwise, we mark the
vma as active, then wait for the vm->mutex, and meanwhile the evictor
holding the mutex waits upon us to complete our activity.

Fixes: 8ccfc20a7d ("drm/i915/gt: Mark ring->vma as active while pinned")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: <stable@vger.kernel.org> # v5.6+
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200706170138.8993-1-chris@chris-wilson.co.uk
(cherry picked from commit 8567774e87)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2020-07-07 18:00:15 -07:00
..
display drm/i915/fbc: Fix fence_y_offset handling 2020-07-06 17:15:57 -07:00
gem
gt drm/i915/gt: Pin the rings before marking active 2020-07-07 18:00:15 -07:00
gvt drm/i915/gvt: Use GFP_ATOMIC instead of GFP_KERNEL in atomic context 2020-06-17 12:36:19 +08:00
selftests
.gitignore
i915_active.c
i915_active.h
i915_active_types.h
i915_buddy.c
i915_buddy.h
i915_cmd_parser.c
i915_config.c
i915_debugfs.c drm/i915: Skip stale object handle for debugfs per-file-stats 2020-07-06 17:15:55 -07:00
i915_debugfs.h
i915_debugfs_params.c
i915_debugfs_params.h
i915_drv.c
i915_drv.h drm/i915/fbc: Fix fence_y_offset handling 2020-07-06 17:15:57 -07:00
i915_fixed.h
i915_gem.c
i915_gem.h
i915_gem_evict.c
i915_gem_gtt.c
i915_gem_gtt.h
i915_getparam.c
i915_globals.c
i915_globals.h
i915_gpu_error.c
i915_gpu_error.h
i915_ioc32.c
i915_ioc32.h
i915_irq.c drm/i915/icl+: Fix hotplug interrupt disabling after storm detection 2020-06-16 11:34:24 +03:00
i915_irq.h
i915_memcpy.c
i915_memcpy.h
i915_mm.c
i915_params.c
i915_params.h
i915_pci.c
i915_perf.c
i915_perf.h
i915_perf_types.h
i915_pmu.c
i915_pmu.h
i915_priolist_types.h
i915_pvinfo.h
i915_query.c
i915_query.h
i915_reg.h
i915_request.c
i915_request.h
i915_scatterlist.c
i915_scatterlist.h
i915_scheduler.c
i915_scheduler.h
i915_scheduler_types.h
i915_selftest.h
i915_suspend.c
i915_suspend.h
i915_sw_fence.c
i915_sw_fence.h
i915_sw_fence_work.c
i915_sw_fence_work.h
i915_switcheroo.c
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c
i915_sysfs.h
i915_trace.h
i915_trace_points.c
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c
i915_utils.h
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Also drop vm.ref along error paths for vma construction 2020-07-06 17:16:03 -07:00
i915_vma.h
i915_vma_types.h
intel_device_info.c
intel_device_info.h
intel_dram.c
intel_dram.h
intel_gvt.c
intel_gvt.h
intel_memory_region.c
intel_memory_region.h
intel_pch.c
intel_pch.h
intel_pm.c drm/i915/gt: Move gen4 GT workarounds from init_clock_gating to workarounds 2020-06-16 11:34:24 +03:00
intel_pm.h
intel_region_lmem.c
intel_region_lmem.h
intel_runtime_pm.c
intel_runtime_pm.h
intel_sideband.c
intel_sideband.h
intel_uncore.c
intel_uncore.h
intel_wakeref.c
intel_wakeref.h
intel_wopcm.c
intel_wopcm.h
Kconfig
Kconfig.debug
Kconfig.profile
Kconfig.unstable
Makefile
vlv_suspend.c
vlv_suspend.h