blob: 781d982dab729420d2b196726264cfbfaf61d7a3 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* drivers/amlogic/media/di_multi/dim_trace.h
*
* Copyright (C) 2017 Amlogic, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* 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.
*
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM dim
#if !defined(_DIM_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _DIM_TRACE_H
#include <linux/tracepoint.h>
/* single lifecycle events */
DECLARE_EVENT_CLASS(di_event_class, TP_PROTO(const char *name, int field_cnt,
unsigned long time),
TP_ARGS(name, field_cnt, time),
TP_STRUCT__entry(__string(name, name)
__field(int, field_cnt)
__field(unsigned long, time)
),
TP_fast_assign(__assign_str(name, name);
__entry->field_cnt =
field_cnt;
__entry->time = time;
),
TP_printk("[%s-%-4dth-%lums]",
__get_str(name),
__entry->field_cnt, __entry->time));
#define DEFINE_DI_EVENT(name) \
DEFINE_EVENT(di_event_class, name, \
TP_PROTO(const char *name, int field_cnt, unsigned long time), \
TP_ARGS(name, field_cnt, time))
DEFINE_DI_EVENT(dim_pre);
DEFINE_DI_EVENT(dim_post);
/*2019-06-18*/
DEFINE_DI_EVENT(dim_pre_getxx);
DEFINE_DI_EVENT(dim_pre_setxx);
DEFINE_DI_EVENT(dim_pre_ready);
DEFINE_DI_EVENT(dim_pst_ready);
DEFINE_DI_EVENT(dim_pst_getxx);
DEFINE_DI_EVENT(dim_pst_setxx);
DEFINE_DI_EVENT(dim_pst_irxxx);
DEFINE_DI_EVENT(dim_pst_doing);
DEFINE_DI_EVENT(dim_pst_peekx);
DEFINE_DI_EVENT(dim_pst_get2x);
DEFINE_DI_EVENT(dim_self_trig);
DEFINE_DI_EVENT(dim_sct_alloc);
DEFINE_DI_EVENT(dim_sct_tail);
DEFINE_DI_EVENT(dim_irq_aisr);
DEFINE_DI_EVENT(dim_dct_set);
DEFINE_DI_EVENT(dim_irq_dct);
#endif /* _DIM_TRACE_H */
#ifdef MARK_HIS
#undef TRACE_INCLUDE_PATH
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_PATH ../../drivers/amlogic/media/di_multi
#define TRACE_INCLUDE_FILE deinterlace_trace
#include <trace/define_trace.h>
#endif