Files
threeeye bc1d038eac REVVL 6 Pro kernel bring-up: full working tree snapshot (2026-09-12)
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)
2026-09-12 13:36:46 +00:00

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>