/* SPDX-License-Identifier: GPL-2.0 */
|
/*
|
* Support Camera Imaging tracer core.
|
*
|
* Copyright (c) 2013 Intel Corporation. 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 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.
|
*
|
*
|
*/
|
#undef TRACE_SYSTEM
|
#define TRACE_SYSTEM atomisp
|
|
#if !defined(ATOMISP_TRACE_EVENT_H) || defined(TRACE_HEADER_MULTI_READ)
|
#define ATOMISP_TRACE_EVENT_H
|
|
#include <linux/tracepoint.h>
|
#include <linux/string.h>
|
TRACE_EVENT(camera_meminfo,
|
|
TP_PROTO(const char *name, int uptr_size, int counter, int sys_size,
|
int sys_res_size, int cam_sys_use, int cam_dyc_use,
|
int cam_res_use),
|
|
TP_ARGS(name, uptr_size, counter, sys_size, sys_res_size, cam_sys_use,
|
cam_dyc_use, cam_res_use),
|
|
TP_STRUCT__entry(
|
__array(char, name, 24)
|
__field(int, uptr_size)
|
__field(int, counter)
|
__field(int, sys_size)
|
__field(int, sys_res_size)
|
__field(int, cam_res_use)
|
__field(int, cam_dyc_use)
|
__field(int, cam_sys_use)
|
),
|
|
TP_fast_assign(
|
strscpy(__entry->name, name, 24);
|
__entry->uptr_size = uptr_size;
|
__entry->counter = counter;
|
__entry->sys_size = sys_size;
|
__entry->sys_res_size = sys_res_size;
|
__entry->cam_res_use = cam_res_use;
|
__entry->cam_dyc_use = cam_dyc_use;
|
__entry->cam_sys_use = cam_sys_use;
|
),
|
|
TP_printk(
|
"<%s> User ptr memory:%d pages,\tISP private memory used:%d pages:\tsysFP system size:%d,\treserved size:%d\tcamFP sysUse:%d,\tdycUse:%d,\tresUse:%d.\n",
|
__entry->name, __entry->uptr_size, __entry->counter,
|
__entry->sys_size, __entry->sys_res_size, __entry->cam_sys_use,
|
__entry->cam_dyc_use, __entry->cam_res_use)
|
);
|
|
TRACE_EVENT(camera_debug,
|
|
TP_PROTO(const char *name, char *info, const int line),
|
|
TP_ARGS(name, info, line),
|
|
TP_STRUCT__entry(
|
__array(char, name, 24)
|
__array(char, info, 24)
|
__field(int, line)
|
),
|
|
TP_fast_assign(
|
strscpy(__entry->name, name, 24);
|
strscpy(__entry->info, info, 24);
|
__entry->line = line;
|
),
|
|
TP_printk("<%s>-<%d> %s\n", __entry->name, __entry->line,
|
__entry->info)
|
);
|
|
TRACE_EVENT(ipu_cstate,
|
|
TP_PROTO(int cstate),
|
|
TP_ARGS(cstate),
|
|
TP_STRUCT__entry(
|
__field(int, cstate)
|
),
|
|
TP_fast_assign(
|
__entry->cstate = cstate;
|
),
|
|
TP_printk("cstate=%d", __entry->cstate)
|
);
|
|
TRACE_EVENT(ipu_pstate,
|
|
TP_PROTO(int freq, int util),
|
|
TP_ARGS(freq, util),
|
|
TP_STRUCT__entry(
|
__field(int, freq)
|
__field(int, util)
|
),
|
|
TP_fast_assign(
|
__entry->freq = freq;
|
__entry->util = util;
|
),
|
|
TP_printk("freq=%d util=%d", __entry->freq, __entry->util)
|
);
|
#endif
|
|
#undef TRACE_INCLUDE_PATH
|
#undef TRACE_INCLUDE_FILE
|
#define TRACE_INCLUDE_PATH .
|
#define TRACE_INCLUDE_FILE atomisp_trace_event
|
/* This part must be outside protection */
|
#include <trace/define_trace.h>
|