Current IPC debug logging in driver enabled only for debug builds. This change will add ftrace logging support in driver so that it helps to analyze the slimbus issues in user or user debug builds. Commands to enable slimbus ftrace events: cd /sys/kernel/tracing/instances mkdir slimbus echo 1 > /sys/kernel/tracing/instances/slimbus/events/slimbus/slimbus_dbg/enable echo 1 > /sys/kernel/tracing/instances/slimbus/tracing_on output will be present in the below path: cat /sys/kernel/tracing/instances/slimbus/trace. Change-Id: I9216d170e96d4e631fe463d2888cdab448a7aef0 Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only
|
|
*
|
|
* trace.h - Slimbus Controller Trace Support
|
|
*
|
|
* Copyright (C) 2021, The Linux Foundation. All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM slimbus
|
|
|
|
#if !defined(__SLIMBUS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define __SLIMBUS_TRACE_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/tracepoint.h>
|
|
#include <asm/byteorder.h>
|
|
#define MAX_MSG_LEN 100
|
|
|
|
TRACE_EVENT(slimbus_dbg,
|
|
TP_PROTO(const char *func, struct va_format *vaf),
|
|
TP_ARGS(func, vaf),
|
|
TP_STRUCT__entry(
|
|
__string(func, func)
|
|
__dynamic_array(char, msg, MAX_MSG_LEN)
|
|
),
|
|
TP_fast_assign(
|
|
__assign_str(func, func);
|
|
WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
|
|
MAX_MSG_LEN, vaf->fmt,
|
|
*vaf->va) >= MAX_MSG_LEN);
|
|
),
|
|
TP_printk("%s: %s", __get_str(func), __get_str(msg))
|
|
);
|
|
|
|
#endif /* __SLIMBUS_TRACE_H */
|
|
|
|
/* this part has to be here */
|
|
|
|
#undef TRACE_INCLUDE_PATH
|
|
#define TRACE_INCLUDE_PATH .
|
|
|
|
#undef TRACE_INCLUDE_FILE
|
|
#define TRACE_INCLUDE_FILE trace
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|