Commit 0ea60c1d authored by Chris Wilson's avatar Chris Wilson

drm/i915/gt: Flush engine parking before release

Due to the asynchronous nature of releasing our wakerefs, we can signal
the main GT wakeref as complete before the individual engines have
cleared their own wakerefs. During shutdown we assert that the engines
are indeed parked before we release them, but for this to be always true
we need to flush their workers as well.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200124143339.140988-1-chris@chris-wilson.co.uk
parent 646603d9
...@@ -408,6 +408,7 @@ void intel_engines_release(struct intel_gt *gt) ...@@ -408,6 +408,7 @@ void intel_engines_release(struct intel_gt *gt)
/* Decouple the backend; but keep the layout for late GPU resets */ /* Decouple the backend; but keep the layout for late GPU resets */
for_each_engine(engine, gt, id) { for_each_engine(engine, gt, id) {
intel_wakeref_wait_for_idle(&engine->wakeref);
GEM_BUG_ON(intel_engine_pm_is_awake(engine)); GEM_BUG_ON(intel_engine_pm_is_awake(engine));
if (!engine->release) if (!engine->release)
......
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