99 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.4 */5 6#undef TRACE_SYSTEM7#define TRACE_SYSTEM qcom_smp2p8 9#if !defined(__QCOM_SMP2P_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ)10#define __QCOM_SMP2P_TRACE_H__11 12#include <linux/device.h>13#include <linux/tracepoint.h>14 15TRACE_EVENT(smp2p_ssr_ack,16 TP_PROTO(const struct device *dev),17 TP_ARGS(dev),18 TP_STRUCT__entry(19 __string(dev_name, dev_name(dev))20 ),21 TP_fast_assign(22 __assign_str(dev_name);23 ),24 TP_printk("%s: SSR detected", __get_str(dev_name))25);26 27TRACE_EVENT(smp2p_negotiate,28 TP_PROTO(const struct device *dev, unsigned int features),29 TP_ARGS(dev, features),30 TP_STRUCT__entry(31 __string(dev_name, dev_name(dev))32 __field(u32, out_features)33 ),34 TP_fast_assign(35 __assign_str(dev_name);36 __entry->out_features = features;37 ),38 TP_printk("%s: state=open out_features=%s", __get_str(dev_name),39 __print_flags(__entry->out_features, "|",40 {SMP2P_FEATURE_SSR_ACK, "SMP2P_FEATURE_SSR_ACK"})41 )42);43 44TRACE_EVENT(smp2p_notify_in,45 TP_PROTO(struct smp2p_entry *smp2p_entry, unsigned long status, u32 val),46 TP_ARGS(smp2p_entry, status, val),47 TP_STRUCT__entry(48 __string(dev_name, dev_name(smp2p_entry->smp2p->dev))49 __string(client_name, smp2p_entry->name)50 __field(unsigned long, status)51 __field(u32, val)52 ),53 TP_fast_assign(54 __assign_str(dev_name);55 __assign_str(client_name);56 __entry->status = status;57 __entry->val = val;58 ),59 TP_printk("%s: %s: status:0x%0lx val:0x%0x",60 __get_str(dev_name),61 __get_str(client_name),62 __entry->status,63 __entry->val64 )65);66 67TRACE_EVENT(smp2p_update_bits,68 TP_PROTO(struct smp2p_entry *smp2p_entry, u32 orig, u32 val),69 TP_ARGS(smp2p_entry, orig, val),70 TP_STRUCT__entry(71 __string(dev_name, dev_name(smp2p_entry->smp2p->dev))72 __string(client_name, smp2p_entry->name)73 __field(u32, orig)74 __field(u32, val)75 ),76 TP_fast_assign(77 __assign_str(dev_name);78 __assign_str(client_name);79 __entry->orig = orig;80 __entry->val = val;81 ),82 TP_printk("%s: %s: orig:0x%0x new:0x%0x",83 __get_str(dev_name),84 __get_str(client_name),85 __entry->orig,86 __entry->val87 )88);89 90#endif /* __QCOM_SMP2P_TRACE_H__ */91 92#undef TRACE_INCLUDE_PATH93#define TRACE_INCLUDE_PATH .94 95#undef TRACE_INCLUDE_FILE96#define TRACE_INCLUDE_FILE trace-smp2p97 98#include <trace/define_trace.h>99