drm/i915: Try harder to finish the idle-worker
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Oct 2017 10:40:38 +0000 (11:40 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Oct 2017 16:49:46 +0000 (17:49 +0100)
commit7c26240e8a19240924b029215989f28995f16d8c
treef16c43f466b110831a435c0ed61a7c1a93892328
parentbb8920f5bea53317c15d1c14f2704f2deaeb9ffd
drm/i915: Try harder to finish the idle-worker

If a worker requeues itself, it may switch to a different kworker pool,
which flush_work() considers as complete. To be strict, we then need to
keep flushing the work until it is no longer pending.

References: https://bugs.freedesktop.org/show_bug.cgi?id=102456
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171006104038.22337-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_utils.h