]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference
authorUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Tue, 11 Jan 2022 01:55:23 +0000 (17:55 -0800)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Mon, 31 Jan 2022 09:35:05 +0000 (09:35 +0000)
commitc37cd6e66ee833a4c3a198ed2cfd9819a935dd83
treeaaa8959506bd7b0e16ccd373093368af074dd8a5
parent9ececa07d00c31bb56410f36baf137c2324faab5
drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference

All timestamps returned by GuC for GuC PMU busyness are captured from
GUC PM TIMESTAMP. Since this timestamp does not tick when GuC goes idle,
kmd uses RING_TIMESTAMP to measure busyness of an engine with an active
context. In further stress testing, the MMIO read of the RING_TIMESTAMP
is seen to cause a rare hang. Resolve the issue by using gt specific
timestamp from PM which is in sync with the GuC PM timestamp.

Fixes: e10bc7e8a7a5 ("drm/i915/pmu: Connect engine busyness stats from GuC to pmu")
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220111015523.225562-1-umesh.nerlige.ramappa@intel.com
(cherry picked from commit 721fd84ea1fe957453587efad5fdc44dfba58e04)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/gt/uc/intel_guc.h
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
drivers/gpu/drm/i915/i915_reg.h