drm/i915: Flush the tasklet when checking for idle
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 14 Sep 2018 08:00:16 +0000 (09:00 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 14 Sep 2018 10:55:00 +0000 (11:55 +0100)
commit22495b68f954c9018fd52bc620292cc80df2e418
tree8f35781908e1da93bf9dc106ec487690e57eb5f0
parent11abf0c5a021af683b8fe12b0d30fb1226d60e0f
drm/i915: Flush the tasklet when checking for idle

In order to reduce latency when checking for idle we kick the tasklet
directly. Sometimes this is not enough as it is queued on another cpu
and so to improve the accuracy of this idle-check (and so to reduce
latency overall by avoiding another pass, or worse declaring a timeout!)
wait for the tasklet to complete.

References: https://bugs.freedesktop.org/show_bug.cgi?id=107916
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180914080017.30308-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_engine_cs.c