OpenCloudOS-Kernel/drivers/gpu/drm/i915
Chris Wilson c648ae338e drm/i915/gem: Perform all asynchronous waits prior to marking payload start
The initial breadcrumb marks the transition from context wait and setup
into the request payload. We use the marker to determine if the request
is merely waiting to begin, or is inside the payload and hung.
Forgetting to include a breadcrumb before the user payload would mean we
do not reset the guilty user request, and conversely if the initial
breadcrumb is too early we blame the user for a problem elsewhere.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201007090947.19950-1-chris@chris-wilson.co.uk
2020-11-03 15:00:06 +00:00
..
display drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init 2020-10-15 15:38:19 +01:00
gem drm/i915/gem: Perform all asynchronous waits prior to marking payload start 2020-11-03 15:00:06 +00:00
gt drm/i915/gt: Flush xcs before tgl breadcrumbs 2020-11-03 14:29:10 +00:00
gvt drm/i915: Remove locking from i915_gem_object_prepare_read/write 2020-09-07 14:29:53 +03:00
selftests drm/i915/region: fix max size calculation 2020-10-21 19:21:04 +01:00
.gitignore
Kconfig
Kconfig.debug drm/i915: Exclude low pages (128KiB) of stolen from use 2020-10-20 10:16:54 +01:00
Kconfig.profile drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
Kconfig.unstable
Makefile drm/i915: Move sseu debugfs under gt/ 2020-07-08 21:40:15 +01:00
i915_active.c drm/i915: Reduce locking around i915_active_acquire_preallocate_barrier() 2020-09-07 13:19:11 +03:00
i915_active.h drm/i915: Provide a fastpath for waiting on vma bindings 2020-09-07 13:29:19 +03:00
i915_active_types.h
i915_buddy.c
i915_buddy.h
i915_cmd_parser.c drm/i915: Skip over MI_NOOP when parsing 2020-10-06 10:41:11 +01:00
i915_config.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_debugfs.c drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex 2020-09-24 13:59:41 +01:00
i915_debugfs.h
i915_debugfs_params.c drm/i915/params: switch to device specific parameters 2020-06-22 23:26:40 +03:00
i915_debugfs_params.h
i915_drv.c drm/i915/gt: Switch to object allocations for page directories 2020-09-07 14:24:08 +03:00
i915_drv.h drm/i915: Enable eLLC caching of display buffers for SKL+ 2020-10-15 15:38:20 +01:00
i915_fixed.h
i915_gem.c drm/i915: Make sure execbuffer always passes ww state to i915_vma_pin. 2020-09-07 14:31:13 +03:00
i915_gem.h drm/i915: Use per object locking in execbuf, v12. 2020-09-07 14:30:07 +03:00
i915_gem_evict.c drm/i915: Handle idling during i915_gem_evict_something busy loops 2020-05-13 14:39:41 -07:00
i915_gem_gtt.c drm/i915: Update dma-attributes for our sg DMA 2020-07-07 11:00:47 +01:00
i915_gem_gtt.h drm/i915: Remove PIN_UPDATE for i915_vma_pin 2020-05-21 17:33:51 +01:00
i915_getparam.c drm/i915: add syncobj timeline support 2020-08-17 16:16:51 -04:00
i915_globals.c
i915_globals.h
i915_gpu_error.c drm/i915: Use the active reference on the vma while capturing 2020-10-16 15:10:36 +01:00
i915_gpu_error.h drm/i915: Move the engine mask to intel_gt_info 2020-07-08 21:07:11 +01:00
i915_ioc32.c i915 compat ioctl(): just use drm_ioctl_kernel() 2020-05-01 20:35:26 -04:00
i915_ioc32.h
i915_irq.c drm/i915/gt: Distinguish the virtual breadcrumbs from the irq breadcrumbs 2020-09-07 14:23:55 +03:00
i915_irq.h
i915_memcpy.c
i915_memcpy.h
i915_mm.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
i915_params.c drm/i915: Initial implementation of PSR2 selective fetch 2020-08-17 16:17:15 -04:00
i915_params.h drm/i915: Initial implementation of PSR2 selective fetch 2020-08-17 16:17:15 -04:00
i915_pci.c drm/i915/pmu: Fix CPU hotplug with multiple GPUs 2020-10-22 10:06:34 +01:00
i915_perf.c drm/i915: Convert i915_perf to ww locking as well 2020-09-07 14:31:36 +03:00
i915_perf.h
i915_perf_types.h
i915_pmu.c drm/i915/pmu: Fix CPU hotplug with multiple GPUs 2020-10-22 10:06:34 +01:00
i915_pmu.h drm/i915/pmu: Fix CPU hotplug with multiple GPUs 2020-10-22 10:06:34 +01:00
i915_priolist_types.h drm/i915/gt: Prevent timeslicing into unpreemptable requests 2020-06-16 11:34:23 +03:00
i915_pvinfo.h
i915_query.c drm/i915/sseu: Move sseu_info under gt_info 2020-07-08 21:13:09 +01:00
i915_query.h
i915_reg.h drm/i915/display: Implement WA 1408330847 2020-08-17 16:17:18 -04:00
i915_request.c drm/i915: Cancel outstanding work after disabling heartbeats on an engine 2020-09-29 09:01:03 +01:00
i915_request.h drm/i915/gt: Distinguish the virtual breadcrumbs from the irq breadcrumbs 2020-09-07 14:23:55 +03:00
i915_scatterlist.c
i915_scatterlist.h drm/i915: Fix DMA mapped scatterlist lookup 2020-10-06 12:49:12 +01:00
i915_scheduler.c drm/i915: Don't set queue-priority hint when supressing the reschedule 2020-05-25 15:40:26 +03:00
i915_scheduler.h drm/i915: Mark concurrent submissions with a weak-dependency 2020-05-11 10:54:04 -07:00
i915_scheduler_types.h drm/i915: Drop no-semaphore boosting 2020-05-14 06:14:33 +01:00
i915_selftest.h drm/i915/gem: Implement legacy MI_STORE_DATA_IMM 2020-05-04 15:15:04 +01:00
i915_suspend.c
i915_suspend.h
i915_sw_fence.c drm/i915: Filter wake_flags passed to default_wake_function 2020-09-07 15:08:08 +03:00
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 drm/i915: Drop i915_request.i915 backpointer 2020-06-03 13:53:39 +01:00
i915_trace_points.c
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915: Don't taint when using fault injection 2020-07-06 19:21:07 +01:00
i915_utils.h drm/i915: Remove unused inline function drain_delayed_work() 2020-07-15 10:16:44 +01:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Hold onto an explicit ref to i915_vma_work.pinned 2020-11-03 14:29:10 +00:00
i915_vma.h drm/i915: Make sure execbuffer always passes ww state to i915_vma_pin. 2020-09-07 14:31:13 +03:00
i915_vma_types.h drm/i915: Export ppgtt_bind_vma 2020-07-03 15:14:35 +01:00
intel_device_info.c drm/i915/tgl: Set subplatforms 2020-08-17 16:17:06 -04:00
intel_device_info.h drm/i915/rkl: Handle HTI 2020-08-17 16:16:07 -04:00
intel_dram.c
intel_dram.h
intel_gvt.c drm/i915/params: switch to device specific parameters 2020-06-22 23:26:40 +03:00
intel_gvt.h
intel_memory_region.c drm/i915/region: fix max size calculation 2020-10-21 19:21:04 +01:00
intel_memory_region.h
intel_pch.c drm/i915/dg1: Add fake PCH 2020-07-14 02:47:21 -07:00
intel_pch.h drm/i915/dg1: Add fake PCH 2020-07-14 02:47:21 -07:00
intel_pm.c drm/i915/kbl: Fix revision ID checks 2020-08-17 16:17:12 -04:00
intel_pm.h drm/i915: Fix includes and local vars order 2020-05-22 14:40:35 +01:00
intel_region_lmem.c drm/i915/params: switch to device specific parameters 2020-06-22 23:26:40 +03:00
intel_region_lmem.h
intel_runtime_pm.c Merge drm/drm-next into drm-intel-next-queued 2020-06-25 18:05:03 +03:00
intel_runtime_pm.h
intel_sideband.c drm/i915: Added required new PCode commands 2020-05-05 13:59:55 +03:00
intel_sideband.h
intel_uncore.c drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
intel_uncore.h drm/i915: Use the gt in HAS_ENGINE 2020-07-08 21:07:09 +01:00
intel_wakeref.c
intel_wakeref.h
intel_wopcm.c drm/i915: Remove cnl pre-prod workarounds 2020-05-04 18:44:52 +03:00
intel_wopcm.h
vlv_suspend.c
vlv_suspend.h