In previous patch, we have created evsel_streams array

This patch returns the specified evsel_streams according to the
evsel_idx.

Signed-off-by: Jin Yao <yao....@linux.intel.com>
---
 v7:
   - Rename functions:
        evsel_streams__entry

 v6:
   - Rebase to perf/core

 v5:
   - Rebase to perf/core

 v4:
   - Rename the patch from 'perf util: Return per-event callchain
     streams' to 'perf util: Get the evsel_streams by evsel_idx'

 tools/perf/util/stream.c | 13 +++++++++++++
 tools/perf/util/stream.h |  3 +++
 2 files changed, 16 insertions(+)

diff --git a/tools/perf/util/stream.c b/tools/perf/util/stream.c
index 31efe4ae0f55..e1c7d6c6126b 100644
--- a/tools/perf/util/stream.c
+++ b/tools/perf/util/stream.c
@@ -162,3 +162,16 @@ struct evlist_streams *evlist__create_streams(struct 
evlist *evlist,
 
        return els;
 }
+
+struct evsel_streams *evsel_streams__entry(struct evlist_streams *els,
+                                          int evsel_idx)
+{
+       struct evsel_streams *es = els->ev_streams;
+
+       for (int i = 0; i < els->nr_evsel; i++) {
+               if (es[i].evsel_idx == evsel_idx)
+                       return &es[i];
+       }
+
+       return NULL;
+}
diff --git a/tools/perf/util/stream.h b/tools/perf/util/stream.h
index 35bc64df554c..f01335677479 100644
--- a/tools/perf/util/stream.h
+++ b/tools/perf/util/stream.h
@@ -27,4 +27,7 @@ void evlist_streams__delete(struct evlist_streams *els);
 struct evlist_streams *evlist__create_streams(struct evlist *evlist,
                                              int nr_streams_max);
 
+struct evsel_streams *evsel_streams__entry(struct evlist_streams *els,
+                                          int evsel_idx);
+
 #endif /* __PERF_STREAM_H */
-- 
2.17.1

Reply via email to