OpenCloudOS-Kernel/drivers/gpu/drm/i915
Chris Wilson a7f328fc78 drm/i915/execlists: Simply walk back along request timeline on reset
The request's timeline will only contain requests from this context, in
order of execution. Therefore, we can simply look back along this
timeline to find the currently executing request.

If we do find that the current context has completed its last request,
that does not imply that all requests are completed in the context, so
only advance the ring->head up to the end of the known completions!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191028124125.25176-1-chris@chris-wilson.co.uk
2019-10-28 16:09:44 +00:00
..
display drm/i915/bios: add compression parameter block definition 2019-10-28 13:34:30 +02:00
gem drm/i915/selftests: Exercise adjusting rpcs over all render-class engines 2019-10-28 12:08:29 +00:00
gt drm/i915/execlists: Simply walk back along request timeline on reset 2019-10-28 16:09:44 +00:00
gvt drm/i915/gt: Split intel_ring_submission 2019-10-24 12:14:21 +01:00
oa drm/i915/perf: Refactor oa object to better manage resources 2019-08-07 20:34:39 +01:00
selftests drm/i915/selftests: Select a random engine for testing memory regions 2019-10-28 11:57:17 +00:00
Kconfig drm/i915: Put future HW and their uAPIs under STAGING & BROKEN 2019-10-27 15:47:10 +00:00
Kconfig.debug drm/i915: Put future HW and their uAPIs under STAGING & BROKEN 2019-10-27 15:47:10 +00:00
Kconfig.profile drm/i915/gt: Replace hangcheck by heartbeats 2019-10-23 23:52:10 +01:00
Kconfig.unstable drm/i915: Put future HW and their uAPIs under STAGING & BROKEN 2019-10-27 15:47:10 +00:00
Makefile drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_active.c drm/i915/gt: Split intel_ring_submission 2019-10-24 12:14:21 +01:00
i915_active.h drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
i915_active_types.h drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
i915_buddy.c drm/i915/buddy: add missing call to i915_global_register 2019-09-09 10:58:20 +01:00
i915_buddy.h drm/i915: buddy allocator 2019-08-10 19:47:40 +01:00
i915_cmd_parser.c drm/i915: extract i915_memcpy.h from i915_drv.h 2019-08-09 12:03:25 +03: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/i915: Split memory_region initialisation into its own file 2019-10-26 22:25:34 +01:00
i915_drv.h drm/i915: Split memory_region initialisation into its own file 2019-10-26 22:25:34 +01:00
i915_fixed.h
i915_gem.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_gem.h drm/i915/execlists: Force preemption 2019-10-23 23:52:10 +01:00
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: Move swizzle_bit under i915_ggtt 2019-10-16 19:42:19 +01: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: Split memory_region initialisation into its own file 2019-10-26 22:25:34 +01:00
i915_gem_gtt.h drm/i915: Move swizzle_bit under i915_ggtt 2019-10-16 19:42:19 +01:00
i915_getparam.c drm/i915/perf: introduce a versioning of the i915-perf uapi 2019-10-14 21:30:25 +01:00
i915_globals.c drm/i915: buddy allocator 2019-08-10 19:47:40 +01:00
i915_globals.h drm/i915: buddy allocator 2019-08-10 19:47:40 +01:00
i915_gpu_error.c drm/i915: capture aux page table error register 2019-10-25 18:29:05 +01:00
i915_gpu_error.h drm/i915: capture aux page table error register 2019-10-25 18:29:05 +01: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 drm/i915: extract i915_memcpy.h from i915_drv.h 2019-08-09 12:03:25 +03:00
i915_memcpy.h drm/i915: extract i915_memcpy.h from i915_drv.h 2019-08-09 12:03:25 +03:00
i915_mm.c drm/i915: Drop expectations of VM_IO from our GGTT mmappings 2019-08-07 12:06:07 +01:00
i915_params.c drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask 2019-10-08 11:05:26 +03:00
i915_params.h drm/i915/execlists: Force preemption 2019-10-23 23:52:10 +01:00
i915_pci.c drm/i915: add new gen12 dgfx platform macro 2019-10-25 13:54:00 -07:00
i915_perf.c drm/i915/gt: Split intel_ring_submission 2019-10-24 12:14:21 +01:00
i915_perf.h drm/i915/perf: introduce a versioning of the i915-perf uapi 2019-10-14 21:30:25 +01:00
i915_perf_types.h drm/i915/perf: Describe structure members in documentation 2019-10-24 15:01:35 +01:00
i915_pmu.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_pmu.h drm/i915/pmu: Support multiple GPUs 2019-10-17 10:50:47 +01: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: add support for perf configuration queries 2019-10-14 21:30:26 +01:00
i915_query.h
i915_reg.h drm/i915/tgl: Handle AUX interrupts for TC ports 2019-10-28 08:27:04 -07:00
i915_request.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_request.h drm/i915: Mark up "sentinel" requests 2019-10-12 08:51:17 +01:00
i915_scatterlist.c
i915_scatterlist.h drm/i915: s/for_each_sgt_dma/for_each_sgt_daddr/ 2019-08-29 21:59:16 +01:00
i915_scheduler.c drm/i915: Don't set queue_priority_hint if we don't kick the submission 2019-10-21 11:04:24 +01:00
i915_scheduler.h drm/i915/execlists: Don't merely skip submission if maybe timeslicing 2019-10-18 11:23:26 +01:00
i915_scheduler_types.h drm/i915: Note the addition of timeslicing to the pretend scheduler 2019-10-11 09:36:16 +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 drm/i915: extract i915_suspend.h from i915_drv.h 2019-08-09 12:03:05 +03:00
i915_sw_fence.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_sw_fence.h Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_sw_fence_work.c drm/i915: Generalise the clflush dma-worker 2019-08-22 08:27:44 +01:00
i915_sw_fence_work.h drm/i915: Generalise the clflush dma-worker 2019-08-22 08:27:44 +01:00
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 drm/i915: extract i915_sysfs.h from i915_drv.h 2019-08-09 11:52:09 +03:00
i915_trace.h drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
i915_trace_points.c
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915/execlists: Force preemption 2019-10-23 23:52:10 +01:00
i915_utils.h drm/i915: Encapsulate kconfig constant values inside boolean predicates 2019-10-26 09:25:25 +01:00
i915_vgpu.c drm/i915: to make vgpu ppgtt notificaiton as atomic operation 2019-09-06 09:53:12 -07:00
i915_vgpu.h
i915_vma.c drm/i915: Lift i915_vma_parked() onto the gt 2019-10-21 21:07:56 +01: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/tgl: s/ss/eu fuse reading support 2019-09-21 08:31:08 +01:00
intel_device_info.h drm/i915: Add is_dgfx to device info 2019-10-25 13:53:51 -07:00
intel_gvt.c drm/i915: Add i915 to i915_inject_probe_failure 2019-08-02 21:14:29 +01:00
intel_gvt.h
intel_memory_region.c drm/i915: Split memory_region initialisation into its own file 2019-10-26 22:25:34 +01:00
intel_memory_region.h drm/i915: Split memory_region initialisation into its own file 2019-10-26 22:25:34 +01:00
intel_pch.c drm/i915: Add new CNL PCH ID seen on a CML platform 2019-10-23 20:37:02 +03:00
intel_pch.h drm/i915: Add new CNL PCH ID seen on a CML platform 2019-10-23 20:37:02 +03:00
intel_pm.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
intel_pm.h drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
intel_region_lmem.c drm/i915: setup io-mapping for LMEM 2019-10-25 22:55:37 +01:00
intel_region_lmem.h drm/i915: support creating LMEM objects 2019-10-25 22:55:31 +01: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 drm/i915: remove unnecessary includes of intel_display_types.h header 2019-08-07 12:43:55 +03:00
intel_sideband.h
intel_uncore.c drm/i915/tgl: Introduce gen12 forcewake ranges 2019-09-13 20:07:36 +01:00
intel_uncore.h drm/i915: Only apply a rmw mmio update if the value changes 2019-09-17 15:25:40 +01:00
intel_wakeref.c drm/i915: Push the wakeref->count deferral to the backend 2019-08-13 21:09:49 +01:00
intel_wakeref.h drm/i915: Push the wakeref->count deferral to the backend 2019-08-13 21:09:49 +01:00
intel_wopcm.c drm/i915/wopcm: Fix SPDX tag location 2019-08-16 16:50:03 +01:00
intel_wopcm.h drm/i915/wopcm: Don't fail on WOPCM partitioning failure 2019-08-02 21:14:32 +01:00