Squashed backup commit (no shallow-clone history issues) of xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream commit 9eece662e) plus all fixes applied to get everpal_defconfig building clean against a modern (GCC 15.2.0) toolchain -- see the previous commit message on the lineage-23.2 branch (also in this repo history is not available here since this is a squashed snapshot; full incremental history lives in the local DL380 checkout and the upstream GitHub remote). Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
102 lines
2.3 KiB
C
102 lines
2.3 KiB
C
/*
|
|
* Copyright (C) 2017 MediaTek Inc.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM fpsgo
|
|
|
|
#if !defined(_TRACE_FPSGO_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _TRACE_FPSGO_H
|
|
|
|
#include <linux/tracepoint.h>
|
|
#include <linux/ktime.h>
|
|
|
|
#ifdef CREATE_TRACE_POINTS
|
|
static inline unsigned long long calc_dur(unsigned long long *start,
|
|
unsigned long long *end)
|
|
{
|
|
if (*end < *start)
|
|
return 0ULL;
|
|
return (*end - *start);
|
|
}
|
|
#endif
|
|
|
|
TRACE_EVENT(xgf_intvl,
|
|
|
|
TP_PROTO(char *type, void *obj, unsigned long long *start,
|
|
unsigned long long *end),
|
|
|
|
TP_ARGS(type, obj, start, end),
|
|
|
|
TP_STRUCT__entry(
|
|
__string(string, type)
|
|
__field(void*, obj)
|
|
__field(unsigned long long, start)
|
|
__field(unsigned long long, end)
|
|
__field(unsigned long long, dur)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__assign_str(string, type);
|
|
__entry->obj = obj;
|
|
__entry->start = *start;
|
|
__entry->end = *end;
|
|
__entry->dur = calc_dur(start, end);
|
|
),
|
|
|
|
TP_printk("%s %p %llu ==> %llu intvl=%lld", __get_str(string),
|
|
__entry->obj, __entry->start, __entry->end,
|
|
__entry->dur)
|
|
);
|
|
|
|
DECLARE_EVENT_CLASS(fpsgo_log_template,
|
|
|
|
TP_PROTO(char *log),
|
|
|
|
TP_ARGS(log),
|
|
|
|
TP_STRUCT__entry(
|
|
__string(msg, log)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__assign_str(msg, log);
|
|
),
|
|
|
|
TP_printk("%s", __get_str(msg))
|
|
);
|
|
|
|
DEFINE_EVENT(fpsgo_log_template, xgf_log,
|
|
TP_PROTO(char *log),
|
|
TP_ARGS(log));
|
|
|
|
DEFINE_EVENT(fpsgo_log_template, minitop_log,
|
|
TP_PROTO(char *log),
|
|
TP_ARGS(log));
|
|
|
|
DEFINE_EVENT(fpsgo_log_template, fpsgo_main_log,
|
|
TP_PROTO(char *log),
|
|
TP_ARGS(log));
|
|
|
|
DEFINE_EVENT(fpsgo_log_template, eara_thrm_log,
|
|
TP_PROTO(char *log),
|
|
TP_ARGS(log));
|
|
|
|
|
|
#endif /* _TRACE_FPSGO_H */
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|