drm/i915: Prefer checking the wakeref itself rather than the counter
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 May 2019 11:52:14 +0000 (12:52 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 7 May 2019 10:59:43 +0000 (11:59 +0100)
commit7ee280a75fd922ac32aa7ed67cd72bdf64952b3a
tree300dce0ad7cc255c56ed012e766f982efee798a7
parent39f94a89a90b3fa70e191716527c719e712e5076
drm/i915: Prefer checking the wakeref itself rather than the counter

The counter goes to zero at the start of the parking cycle, but the
wakeref itself is held until the end. Likewise, the counter becomes one
at the end of the unparking, but the wakeref is taken first. If we check
the wakeref instead of the counter, we include the unpark/unparking time
as intel_wakeref_is_active(), and do not spuriously declare inactive if
we fail to park (i.e. the parking and wakeref drop is postponed).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190503115225.30831-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/intel_wakeref.h