]> 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)
committerJohn Harrison <John.C.Harrison@Intel.com>
Wed, 26 Jan 2022 01:17:26 +0000 (17:17 -0800)
commit30ccf5aaa0c0491572b70b1fd9cf2b3977048475
tree6eaaefcc2bbf36ccfc476488a1a51abd4cb107a1
parentb340a628cf1c5068ba4815c2b5c906f46da5ac78
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: bb7418bad2ff ("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
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