OpenCloudOS-Kernel/drivers/gpu/drm/i915
Chris Wilson 12fdaf19e0 drm/i915/execlists: Keep virtual context alive until after we kick
The call to kick_siblings() dereferences the rq->context, so we should
not drop our local reference until afterwards!

v2: Stick to setting ce.inflight=NULL before kicking as this is what the
other threads will check to see if the context is ready for takeover.

Fixes: 22b7a426bb ("drm/i915/execlists: Preempt-to-busy")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190621080729.2652-1-chris@chris-wilson.co.uk
2019-06-21 10:11:05 +01:00
..
display drm/i915/ehl/dsi: Enable AFE over PPI strap 2019-06-20 13:18:04 -07:00
gem drm/i915/selftests: Use request managed wakerefs 2019-06-20 19:13:26 +01:00
gt drm/i915/execlists: Keep virtual context alive until after we kick 2019-06-21 10:11:05 +01:00
gvt drm/i915/gtt: Use a common type for page directories 2019-06-17 16:30:54 +03:00
selftests drm/i915/gtt: Defer address space cleanup to an RCU worker 2019-06-20 21:52:30 +01:00
.gitignore drm/i915: add Makefile magic for testing headers are self-contained 2019-04-04 19:49:42 +03:00
Kconfig drm/i915: add force_probe module parameter to replace alpha_support 2019-05-31 16:20:30 +03:00
Kconfig.debug drm/i915: Enable refcount debugging for default debug levels 2019-06-14 12:16:08 +01:00
Kconfig.profile drm/i915: Add a label for config DRM_I915_SPIN_REQUEST 2019-06-12 11:18:55 +01:00
Makefile drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
Makefile.header-test drm/i915/gtt: Defer address space cleanup to an RCU worker 2019-06-20 21:52:30 +01:00
i915_active.c drm/i915: Keep engine alive as we retire the context 2019-06-18 15:14:22 +01:00
i915_active.h drm/i915: Stop passing I915_WAIT_LOCKED to i915_request_wait() 2019-06-19 12:58:38 +01:00
i915_active_types.h drm/i915: Keep contexts pinned until after the next kernel context switch 2019-06-14 19:03:32 +01:00
i915_cmd_parser.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
i915_debugfs.c drm/i915: no need to check return value of debugfs_create functions 2019-06-17 15:53:08 +03:00
i915_debugfs.h drm/i915: extract i915_debugfs.h from i915_drv.h 2019-05-03 10:06:40 +03:00
i915_drv.c drm/i915/gvt: decouple check_vgpu() from uncore_init() 2019-06-20 16:34:57 +01:00
i915_drv.h drm/i915: kill uncore_to_i915 2019-06-20 16:34:54 +01:00
i915_fixed.h drm/i915: Use mul_u32_u32() more 2019-05-03 20:09:51 +03:00
i915_gem.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
i915_gem.h drm/i915: Load balancing across a virtual engine 2019-05-22 08:40:38 +01:00
i915_gem_batch_pool.c drm/i915: Use drm_gem_object.resv 2019-06-18 15:30:32 +01:00
i915_gem_batch_pool.h drm/i915: Split GEM object type definition to its own header 2019-05-28 12:45:29 +01:00
i915_gem_evict.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_fence_reg.c drm/i915: make intel_wakeref work on the rpm struct 2019-06-14 15:58:33 +01:00
i915_gem_fence_reg.h drm/i915: Move fence register tracking from i915->mm to ggtt 2019-06-13 09:37:39 +01:00
i915_gem_gtt.c drm/i915/gtt: Defer address space cleanup to an RCU worker 2019-06-20 21:52:30 +01:00
i915_gem_gtt.h drm/i915/gtt: Defer address space cleanup to an RCU worker 2019-06-20 21:52:30 +01:00
i915_gem_render_state.c drm/i915: Drop the deferred active reference 2019-05-28 12:45:29 +01:00
i915_gem_render_state.h
i915_globals.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_globals.h drm/i915: Move over to intel_context_lookup() 2019-03-08 13:59:52 +00:00
i915_gpu_error.c drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_gpu_error.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_ioc32.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
i915_irq.c drm/i915/ehl: Introduce Mule Creek Canyon PCH 2019-06-17 13:40:20 -07:00
i915_irq.h drm/i915/guc: Correctly handle GuC interrupts on Gen11 2019-05-28 10:07:17 +01:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bdw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_params.c drm/i915: add force_probe module parameter to replace alpha_support 2019-05-31 16:20:30 +03:00
i915_params.h drm/i915: add force_probe module parameter to replace alpha_support 2019-05-31 16:20:30 +03:00
i915_pci.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
i915_perf.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_pmu.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_pmu.h Merge back earlier PM core material for v5.1. 2019-02-24 21:20:27 +01:00
i915_priolist_types.h drm/i915: Downgrade NEWCLIENT to non-preemptive 2019-05-20 18:28:22 +03:00
i915_pvinfo.h drm/i915/gvt: decouple check_vgpu() from uncore_init() 2019-06-20 16:34:57 +01:00
i915_query.c Revert "drm/i915: Expand subslice mask" 2019-05-29 17:18:18 +03:00
i915_query.h
i915_reg.h drm/i915/ehl/dsi: Enable AFE over PPI strap 2019-06-20 13:18:04 -07:00
i915_request.c drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_request.h drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_scatterlist.c drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_scatterlist.h drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_scheduler.c drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +01:00
i915_scheduler.h drm/i915: Only reschedule the submission tasklet if preemption is possible 2019-05-07 17:40:20 +01:00
i915_scheduler_types.h drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +01:00
i915_selftest.h drm/i915/selftests: Apply a subtest filter 2019-01-29 19:59:57 +00:00
i915_suspend.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
i915_sw_fence.c drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_sw_fence.h drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_syncmap.c drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_syncmap.h
i915_sysfs.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_timeline.c drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
i915_timeline.h drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
i915_timeline_types.h drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
i915_trace.h drm/i915: Stop passing I915_WAIT_LOCKED to i915_request_wait() 2019-06-19 12:58:38 +01:00
i915_trace_points.c
i915_user_extensions.c drm/i915: Introduce the i915_user_extension_method 2019-03-22 13:12:30 +00:00
i915_user_extensions.h drm/i915: Introduce the i915_user_extension_method 2019-03-22 13:12:30 +00:00
i915_utils.h drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_vgpu.c drm/i915/gvt: decouple check_vgpu() from uncore_init() 2019-06-20 16:34:57 +01:00
i915_vgpu.h drm/i915/gvt: decouple check_vgpu() from uncore_init() 2019-06-20 16:34:57 +01:00
i915_vma.c drm/i915: Use drm_gem_object.resv 2019-06-18 15:30:32 +01:00
i915_vma.h drm/i915: Move fence register tracking from i915->mm to ggtt 2019-06-13 09:37:39 +01:00
intel_csr.c drm/i915/dmc: protect against loading wrong firmware 2019-06-17 12:32:34 -07:00
intel_csr.h drm/i915/csr: move CSR version macros to intel_csr.h 2019-05-03 10:06:25 +03:00
intel_device_info.c drm/i915: Kill INTEL_SUBPLATFORM_AML 2019-06-12 14:51:26 +03:00
intel_device_info.h drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
intel_drv.h drm/i915: move and rename i915_runtime_pm 2019-06-14 15:58:33 +01:00
intel_guc.c drm/i915: Make GuC GGTT reservation work on ggtt 2019-06-11 14:40:15 +01:00
intel_guc.h drm/i915: Make GuC GGTT reservation work on ggtt 2019-06-11 14:40:15 +01:00
intel_guc_ads.c drm/i915/guc: Reset GuC ADS during sanitize 2019-05-28 10:07:05 +01:00
intel_guc_ads.h drm/i915/guc: Reset GuC ADS during sanitize 2019-05-28 10:07:05 +01:00
intel_guc_ct.c drm/i915/guc: always use Command Transport Buffers 2019-06-09 11:21:33 +01:00
intel_guc_ct.h drm/i915/uc: Stop talking with GuC when resetting 2019-05-23 21:58:36 +01:00
intel_guc_fw.c drm/i915/guc: Define GuC firmware version for Icelake 2019-05-28 10:07:22 +01:00
intel_guc_fw.h
intel_guc_fwif.h drm/i915: fix documentation build warnings 2019-06-06 11:13:20 +03:00
intel_guc_log.c drm/i915/guc: Reduce verbosity on log overflows 2019-06-18 11:35:19 +01:00
intel_guc_log.h
intel_guc_reg.h drm/i915/guc: Correctly handle GuC interrupts on Gen11 2019-05-28 10:07:17 +01:00
intel_guc_submission.c drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
intel_guc_submission.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_gvt.c drm/i915: Enable gfx virtualization for Coffeelake platform 2019-01-10 11:38:34 +08:00
intel_gvt.h
intel_huc.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
intel_huc.h drm/i915/huc: New HuC status register for Gen11 2019-05-28 10:07:13 +01:00
intel_huc_fw.c drm/i915/huc: Define HuC firmware version for Icelake 2019-05-28 10:07:23 +01:00
intel_huc_fw.h
intel_pm.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
intel_pm.h drm/i915: move pm related declarations to intel_pm.h 2019-06-10 10:29:17 +03:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_runtime_pm.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
intel_runtime_pm.h drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
intel_sideband.c drm/i915: Make sandybridge_pcode_read() deal with the second data register 2019-05-27 20:51:48 +03:00
intel_sideband.h drm/i915: Make sandybridge_pcode_read() deal with the second data register 2019-05-27 20:51:48 +03:00
intel_uc.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
intel_uc.h drm/i915/guc: Fix runtime suspend 2019-05-03 08:38:37 +01:00
intel_uc_fw.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
intel_uc_fw.h drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_uncore.c drm/i915/gvt: decouple check_vgpu() from uncore_init() 2019-06-20 16:34:57 +01:00
intel_uncore.h drm/i915: dynamically allocate forcewake domains 2019-06-20 16:34:56 +01:00
intel_wakeref.c drm/i915: make intel_wakeref work on the rpm struct 2019-06-14 15:58:33 +01:00
intel_wakeref.h drm/i915: make intel_wakeref work on the rpm struct 2019-06-14 15:58:33 +01:00
intel_wopcm.c drm/i915/wopcm: update default size for gen11+ 2019-06-09 11:28:32 +01:00
intel_wopcm.h drm/i915/guc: Move intel_guc_reserved_gtt_size to intel_wopcm_guc_size 2019-06-11 14:40:14 +01:00