Commit 96a945aa authored by Chris Wilson's avatar Chris Wilson

drm/i915: Move the common engine cleanup to intel_engine_cs.c

Now that we initialize the state to both legacy and execlists inside
intel_engine_cs, we should also clean up that state from the common
functions.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470226756-24401-1-git-send-email-chris@chris-wilson.co.ukReviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
parent ad7bdb2b
...@@ -210,3 +210,17 @@ int intel_engine_init_common(struct intel_engine_cs *engine) ...@@ -210,3 +210,17 @@ int intel_engine_init_common(struct intel_engine_cs *engine)
return intel_engine_init_cmd_parser(engine); return intel_engine_init_cmd_parser(engine);
} }
/**
* intel_engines_cleanup_common - cleans up the engine state created by
* the common initiailizers.
* @engine: Engine to cleanup.
*
* This cleans up everything created by the common helpers.
*/
void intel_engine_cleanup_common(struct intel_engine_cs *engine)
{
intel_engine_cleanup_cmd_parser(engine);
intel_engine_fini_breadcrumbs(engine);
i915_gem_batch_pool_fini(&engine->batch_pool);
}
...@@ -1720,10 +1720,7 @@ void intel_logical_ring_cleanup(struct intel_engine_cs *engine) ...@@ -1720,10 +1720,7 @@ void intel_logical_ring_cleanup(struct intel_engine_cs *engine)
if (engine->cleanup) if (engine->cleanup)
engine->cleanup(engine); engine->cleanup(engine);
intel_engine_cleanup_cmd_parser(engine); intel_engine_cleanup_common(engine);
i915_gem_batch_pool_fini(&engine->batch_pool);
intel_engine_fini_breadcrumbs(engine);
if (engine->status_page.obj) { if (engine->status_page.obj) {
i915_gem_object_unpin_map(engine->status_page.obj); i915_gem_object_unpin_map(engine->status_page.obj);
......
...@@ -2218,9 +2218,7 @@ void intel_engine_cleanup(struct intel_engine_cs *engine) ...@@ -2218,9 +2218,7 @@ void intel_engine_cleanup(struct intel_engine_cs *engine)
cleanup_phys_status_page(engine); cleanup_phys_status_page(engine);
} }
intel_engine_cleanup_cmd_parser(engine); intel_engine_cleanup_common(engine);
i915_gem_batch_pool_fini(&engine->batch_pool);
intel_engine_fini_breadcrumbs(engine);
intel_ring_context_unpin(dev_priv->kernel_context, engine); intel_ring_context_unpin(dev_priv->kernel_context, engine);
......
...@@ -483,6 +483,7 @@ void intel_fini_pipe_control(struct intel_engine_cs *engine); ...@@ -483,6 +483,7 @@ void intel_fini_pipe_control(struct intel_engine_cs *engine);
void intel_engine_setup_common(struct intel_engine_cs *engine); void intel_engine_setup_common(struct intel_engine_cs *engine);
int intel_engine_init_common(struct intel_engine_cs *engine); int intel_engine_init_common(struct intel_engine_cs *engine);
void intel_engine_cleanup_common(struct intel_engine_cs *engine);
int intel_init_render_ring_buffer(struct intel_engine_cs *engine); int intel_init_render_ring_buffer(struct intel_engine_cs *engine);
int intel_init_bsd_ring_buffer(struct intel_engine_cs *engine); int intel_init_bsd_ring_buffer(struct intel_engine_cs *engine);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment