drm/i915/pmu: Correct the rc6 offset upon enabling
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 14 Jan 2020 10:56:47 +0000 (10:56 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 14 Jan 2020 12:55:13 +0000 (12:55 +0000)
commitf4e9894b6952a2819937f363cd42e7cd7894a1e4
tree3d8d582cddca20cb900fa8e4f0daa6001ae33777
parentf2221a50494037af98206713155c8d4f2e7bccaa
drm/i915/pmu: Correct the rc6 offset upon enabling

The rc6 residency starts ticking from 0 from BIOS POST, but the kernel
starts measuring the time from its boot. If we start measuruing
I915_PMU_RC6_RESIDENCY while the GT is idle, we start our sampling from
0 and then upon first activity (park/unpark) add in all the rc6
residency since boot. After the first park with the sampler engaged, the
sleep/active counters are aligned.

v2: With a wakeref to be sure

Closes: https://gitlab.freedesktop.org/drm/intel/issues/973
Fixes: df6a42053513 ("drm/i915/pmu: Ensure monotonic rc6")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200114105648.2172026-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_pmu.c