drm/i915/pmu: Don't grab wakeref when enabling events
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Mon, 14 Dec 2020 09:43:47 +0000 (09:43 +0000)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Mon, 14 Dec 2020 12:55:43 +0000 (12:55 +0000)
commitdbe13ae1d6abaab417edf3c37601c6a56594a4cd
tree9a33eb841fb7d6c0b8c21b73ebbe5f1188c7fa39
parent04adaba8801008870a23440e3a37d3c2b77cf4e8
drm/i915/pmu: Don't grab wakeref when enabling events

Chris found a CI report which points out calling intel_runtime_pm_get from
inside i915_pmu_enable hook is not allowed since it can be invoked from
hard irq context. This is something we knew but forgot, so lets fix it
once again.

We do this by syncing the internal book keeping with hardware rc6 counter
on driver load.

v2:
 * Always sync on parking and fully sync on init.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Fixes: f4e9894b6952 ("drm/i915/pmu: Correct the rc6 offset upon enabling")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20201214094349.3563876-1-tvrtko.ursulin@linux.intel.com
drivers/gpu/drm/i915/i915_pmu.c