From 43d5b55bc1691e9d3a4fdb24086fa3d626d4974c Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 28 Oct 2021 11:13:00 +0300 Subject: [PATCH] intel/pps: provide accurate min sampling period Signed-off-by: Lionel Landwerlin Reviewed-by: Antonio Caggiano Part-of: --- src/intel/ds/intel_pps_driver.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/intel/ds/intel_pps_driver.cc b/src/intel/ds/intel_pps_driver.cc index 5406292a218..6c79acd0ad0 100644 --- a/src/intel/ds/intel_pps_driver.cc +++ b/src/intel/ds/intel_pps_driver.cc @@ -26,9 +26,15 @@ namespace pps { + +// The HW sampling period is programmed using period_exponent following this +// formula: +// sample_period = timestamp_period * 2^(period_exponent + 1) +// So our minimum sampling period is twice the timestamp period + uint64_t IntelDriver::get_min_sampling_period_ns() { - return 500000; + return (2.f * perf->devinfo.timestamp_frequency) / 1000000000ull; } void IntelDriver::enable_counter(uint32_t counter_id)