Loading drivers/clk/qcom/clk-debug.c +6 −0 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2016, 2019-2021 The Linux Foundation. All rights reserved. */ /* Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/clk.h> #include <linux/export.h> Loading @@ -11,6 +12,10 @@ #include <linux/bitops.h> #include <linux/mfd/syscon.h> #include <linux/msm-bus.h> #include <trace/events/power.h> #define CREATE_TRACE_POINTS #include "trace.h" #include "clk-regmap.h" #include "clk-debug.h" Loading Loading @@ -271,6 +276,7 @@ static int clk_debug_measure_get(void *data, u64 *val) enable_debug_clks(measure); *val = clk_debug_mux_measure_rate(measure); trace_clk_measure(clk_hw_get_name(hw), *val); /* recursively calculate actual freq */ *val *= get_mux_divs(measure); disable_debug_clks(measure); Loading drivers/clk/qcom/trace.h 0 → 100644 +51 −0 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only * * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM clk_qcom #if !defined(_TRACE_CLOCK_QCOM_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_CLOCK_QCOM #include <linux/tracepoint.h> DECLARE_EVENT_CLASS(clk_measure_support, TP_PROTO(const char *name, unsigned long rate), TP_ARGS(name, rate), TP_STRUCT__entry( __string(name, name) __field(unsigned long, rate) ), TP_fast_assign( __assign_str(name, name); __entry->rate = rate; ), TP_printk("%s rate: %lu", __get_str(name), (unsigned long)__entry->rate) ); DEFINE_EVENT(clk_measure_support, clk_measure, TP_PROTO(const char *name, unsigned long rate), TP_ARGS(name, rate) ); #endif /* _TRACE_CLOCK_QCOM */ /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_FILE trace #include <trace/define_trace.h> Loading
drivers/clk/qcom/clk-debug.c +6 −0 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2016, 2019-2021 The Linux Foundation. All rights reserved. */ /* Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/clk.h> #include <linux/export.h> Loading @@ -11,6 +12,10 @@ #include <linux/bitops.h> #include <linux/mfd/syscon.h> #include <linux/msm-bus.h> #include <trace/events/power.h> #define CREATE_TRACE_POINTS #include "trace.h" #include "clk-regmap.h" #include "clk-debug.h" Loading Loading @@ -271,6 +276,7 @@ static int clk_debug_measure_get(void *data, u64 *val) enable_debug_clks(measure); *val = clk_debug_mux_measure_rate(measure); trace_clk_measure(clk_hw_get_name(hw), *val); /* recursively calculate actual freq */ *val *= get_mux_divs(measure); disable_debug_clks(measure); Loading
drivers/clk/qcom/trace.h 0 → 100644 +51 −0 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only * * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM clk_qcom #if !defined(_TRACE_CLOCK_QCOM_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_CLOCK_QCOM #include <linux/tracepoint.h> DECLARE_EVENT_CLASS(clk_measure_support, TP_PROTO(const char *name, unsigned long rate), TP_ARGS(name, rate), TP_STRUCT__entry( __string(name, name) __field(unsigned long, rate) ), TP_fast_assign( __assign_str(name, name); __entry->rate = rate; ), TP_printk("%s rate: %lu", __get_str(name), (unsigned long)__entry->rate) ); DEFINE_EVENT(clk_measure_support, clk_measure, TP_PROTO(const char *name, unsigned long rate), TP_ARGS(name, rate) ); #endif /* _TRACE_CLOCK_QCOM */ /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_FILE trace #include <trace/define_trace.h>