Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit ac9aa295 authored by Xu Yang's avatar Xu Yang Committed by Will Deacon
Browse files

perf: imx_perf: fix counter start and config sequence


In current driver, the counter will start firstly and then be configured.
This sequence is not correct for AXI filter events since the correct
AXI_MASK and AXI_ID are not set yet. Then the results may be inaccurate.

Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Fixes: 55691f99

 ("drivers/perf: imx_ddr: Add support for NXP i.MX9 SoC DDRC PMU driver")
cc: stable@vger.kernel.org
Signed-off-by: default avatarXu Yang <xu.yang_2@nxp.com>
Link: https://lore.kernel.org/r/20240529080358.703784-5-xu.yang_2@nxp.com


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent fab5e5a8
Branches
Tags
No related merge requests found
...@@ -541,12 +541,12 @@ static int ddr_perf_event_add(struct perf_event *event, int flags) ...@@ -541,12 +541,12 @@ static int ddr_perf_event_add(struct perf_event *event, int flags)
hwc->idx = counter; hwc->idx = counter;
hwc->state |= PERF_HES_STOPPED; hwc->state |= PERF_HES_STOPPED;
if (flags & PERF_EF_START)
ddr_perf_event_start(event, flags);
/* read trans, write trans, read beat */ /* read trans, write trans, read beat */
imx93_ddr_perf_monitor_config(pmu, event_id, counter, cfg1, cfg2); imx93_ddr_perf_monitor_config(pmu, event_id, counter, cfg1, cfg2);
if (flags & PERF_EF_START)
ddr_perf_event_start(event, flags);
return 0; return 0;
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment