aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_engine_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_engine_cs.c')
-rw-r--r--drivers/gpu/drm/i915/intel_engine_cs.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 18174f808fd8..8e326556499e 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1090,37 +1090,6 @@ bool intel_engines_are_idle(struct drm_i915_private *i915)
1090 return true; 1090 return true;
1091} 1091}
1092 1092
1093/**
1094 * intel_engine_has_kernel_context:
1095 * @engine: the engine
1096 *
1097 * Returns true if the last context to be executed on this engine, or has been
1098 * executed if the engine is already idle, is the kernel context
1099 * (#i915.kernel_context).
1100 */
1101bool intel_engine_has_kernel_context(const struct intel_engine_cs *engine)
1102{
1103 const struct intel_context *kernel_context =
1104 to_intel_context(engine->i915->kernel_context, engine);
1105 struct i915_request *rq;
1106
1107 lockdep_assert_held(&engine->i915->drm.struct_mutex);
1108
1109 if (!engine->context_size)
1110 return true;
1111
1112 /*
1113 * Check the last context seen by the engine. If active, it will be
1114 * the last request that remains in the timeline. When idle, it is
1115 * the last executed context as tracked by retirement.
1116 */
1117 rq = __i915_active_request_peek(&engine->timeline.last_request);
1118 if (rq)
1119 return rq->hw_context == kernel_context;
1120 else
1121 return engine->last_retired_context == kernel_context;
1122}
1123
1124void intel_engines_reset_default_submission(struct drm_i915_private *i915) 1093void intel_engines_reset_default_submission(struct drm_i915_private *i915)
1125{ 1094{
1126 struct intel_engine_cs *engine; 1095 struct intel_engine_cs *engine;