mirror of https://gitee.com/openkylin/linux.git
drm/i915: Clear gt.active_requests before checking idle status
commit8490ae207f
("drm/i915: Suppress busy status for engines if wedged") moved the check for inflight requests to the intel_engines_are_idle() check to protect the idle worker. However, the request selftests were also checking the engine idle status and erroring out if they did not become idle within a short period of time after the final wait. In order to accommodate the new check, call retire requests prior to the engine check so that we flush all the waits. Fixes:8490ae207f
("drm/i915: Suppress busy status for engines if wedged") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Matthew Auld <matthew.william.auld@gmail.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170331192121.10024-1-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
This commit is contained in:
parent
b9ab1f3f44
commit
5f09ad8be7
|
@ -301,7 +301,9 @@ static int end_live_test(struct live_test *t)
|
|||
{
|
||||
struct drm_i915_private *i915 = t->i915;
|
||||
|
||||
if (wait_for(intel_engines_are_idle(i915), 1)) {
|
||||
i915_gem_retire_requests(i915);
|
||||
|
||||
if (wait_for(intel_engines_are_idle(i915), 10)) {
|
||||
pr_err("%s(%s): GPU not idle\n", t->func, t->name);
|
||||
return -EIO;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue