162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Interconnect framework tracepoints 462306a36Sopenharmony_ci * Copyright (c) 2019, Linaro Ltd. 562306a36Sopenharmony_ci * Author: Georgi Djakov <georgi.djakov@linaro.org> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#undef TRACE_SYSTEM 962306a36Sopenharmony_ci#define TRACE_SYSTEM interconnect 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#if !defined(_TRACE_INTERCONNECT_H) || defined(TRACE_HEADER_MULTI_READ) 1262306a36Sopenharmony_ci#define _TRACE_INTERCONNECT_H 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#include <linux/interconnect.h> 1562306a36Sopenharmony_ci#include <linux/tracepoint.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciTRACE_EVENT(icc_set_bw, 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci TP_PROTO(struct icc_path *p, struct icc_node *n, int i, 2062306a36Sopenharmony_ci u32 avg_bw, u32 peak_bw), 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci TP_ARGS(p, n, i, avg_bw, peak_bw), 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci TP_STRUCT__entry( 2562306a36Sopenharmony_ci __string(path_name, p->name) 2662306a36Sopenharmony_ci __string(dev, dev_name(p->reqs[i].dev)) 2762306a36Sopenharmony_ci __string(node_name, n->name) 2862306a36Sopenharmony_ci __field(u32, avg_bw) 2962306a36Sopenharmony_ci __field(u32, peak_bw) 3062306a36Sopenharmony_ci __field(u32, node_avg_bw) 3162306a36Sopenharmony_ci __field(u32, node_peak_bw) 3262306a36Sopenharmony_ci ), 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci TP_fast_assign( 3562306a36Sopenharmony_ci __assign_str(path_name, p->name); 3662306a36Sopenharmony_ci __assign_str(dev, dev_name(p->reqs[i].dev)); 3762306a36Sopenharmony_ci __assign_str(node_name, n->name); 3862306a36Sopenharmony_ci __entry->avg_bw = avg_bw; 3962306a36Sopenharmony_ci __entry->peak_bw = peak_bw; 4062306a36Sopenharmony_ci __entry->node_avg_bw = n->avg_bw; 4162306a36Sopenharmony_ci __entry->node_peak_bw = n->peak_bw; 4262306a36Sopenharmony_ci ), 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci TP_printk("path=%s dev=%s node=%s avg_bw=%u peak_bw=%u agg_avg=%u agg_peak=%u", 4562306a36Sopenharmony_ci __get_str(path_name), 4662306a36Sopenharmony_ci __get_str(dev), 4762306a36Sopenharmony_ci __get_str(node_name), 4862306a36Sopenharmony_ci __entry->avg_bw, 4962306a36Sopenharmony_ci __entry->peak_bw, 5062306a36Sopenharmony_ci __entry->node_avg_bw, 5162306a36Sopenharmony_ci __entry->node_peak_bw) 5262306a36Sopenharmony_ci); 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciTRACE_EVENT(icc_set_bw_end, 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci TP_PROTO(struct icc_path *p, int ret), 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci TP_ARGS(p, ret), 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci TP_STRUCT__entry( 6162306a36Sopenharmony_ci __string(path_name, p->name) 6262306a36Sopenharmony_ci __string(dev, dev_name(p->reqs[0].dev)) 6362306a36Sopenharmony_ci __field(int, ret) 6462306a36Sopenharmony_ci ), 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci TP_fast_assign( 6762306a36Sopenharmony_ci __assign_str(path_name, p->name); 6862306a36Sopenharmony_ci __assign_str(dev, dev_name(p->reqs[0].dev)); 6962306a36Sopenharmony_ci __entry->ret = ret; 7062306a36Sopenharmony_ci ), 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci TP_printk("path=%s dev=%s ret=%d", 7362306a36Sopenharmony_ci __get_str(path_name), 7462306a36Sopenharmony_ci __get_str(dev), 7562306a36Sopenharmony_ci __entry->ret) 7662306a36Sopenharmony_ci); 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci#endif /* _TRACE_INTERCONNECT_H */ 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci/* This part must be outside protection */ 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH 8362306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH . 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci#undef TRACE_INCLUDE_FILE 8662306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE trace 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci#include <trace/define_trace.h> 89