diff options
author | Mark Brown <broonie@kernel.org> | 2023-05-30 20:41:29 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-05-30 20:41:29 +0100 |
commit | b48aa6a3577cccd13ea21392540f6cde437dd04d (patch) | |
tree | 77091078bd9c3fd7c38efea83ec71a0719676819 /tools/perf/util/stat-shadow.c | |
parent | f2d4aa7e97eb60f426b92b95da712a6b3c18dc9a (diff) | |
parent | 60413129ee2b38a80347489270af7f6e1c1de4d0 (diff) |
ES8316 audio codec fixes on Rock5B
Merge series from Cristian Ciocaltea <cristian.ciocaltea@collabora.com>:
This patch series handles a few issues related to the ES8316 audio
codec, discovered while doing some testing on the Rock 5B board.
Diffstat (limited to 'tools/perf/util/stat-shadow.c')
-rw-r--r-- | tools/perf/util/stat-shadow.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c index eeccab6751d7..1566a206ba42 100644 --- a/tools/perf/util/stat-shadow.c +++ b/tools/perf/util/stat-shadow.c @@ -403,12 +403,25 @@ static int prepare_metric(struct evsel **metric_events, if (!aggr) break; - /* - * If an event was scaled during stat gathering, reverse - * the scale before computing the metric. - */ - val = aggr->counts.val * (1.0 / metric_events[i]->scale); - source_count = evsel__source_count(metric_events[i]); + if (!metric_events[i]->supported) { + /* + * Not supported events will have a count of 0, + * which can be confusing in a + * metric. Explicitly set the value to NAN. Not + * counted events (enable time of 0) are read as + * 0. + */ + val = NAN; + source_count = 0; + } else { + /* + * If an event was scaled during stat gathering, + * reverse the scale before computing the + * metric. + */ + val = aggr->counts.val * (1.0 / metric_events[i]->scale); + source_count = evsel__source_count(metric_events[i]); + } } n = strdup(evsel__metric_id(metric_events[i])); if (!n) |