include: trace: Add SCMI fast channel tracing
authorCristian Marussi <cristian.marussi@arm.com>
Mon, 4 Jul 2022 10:22:39 +0000 (11:22 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Mon, 4 Jul 2022 13:28:43 +0000 (14:28 +0100)
All the currently defined SCMI events are meant to trace only regular SCMI
transfers based on SCMI messages exchanges; SCMI transactions based on
fast channels, where used, are completely invisible from the tracing point
of view.

Add support to trace fast channel transactions; while doing that avoid
exposing full shared memory location addresses.

Link: https://lore.kernel.org/r/20220704102241.2988447-6-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
include/trace/events/scmi.h

index 9108544..65016a7 100644 (file)
@@ -7,6 +7,31 @@
 
 #include <linux/tracepoint.h>
 
+TRACE_EVENT(scmi_fc_call,
+       TP_PROTO(u8 protocol_id, u8 msg_id, u32 res_id, u32 val1, u32 val2),
+       TP_ARGS(protocol_id, msg_id, res_id, val1, val2),
+
+       TP_STRUCT__entry(
+               __field(u8, protocol_id)
+               __field(u8, msg_id)
+               __field(u32, res_id)
+               __field(u32, val1)
+               __field(u32, val2)
+       ),
+
+       TP_fast_assign(
+               __entry->protocol_id = protocol_id;
+               __entry->msg_id = msg_id;
+               __entry->res_id = res_id;
+               __entry->val1 = val1;
+               __entry->val2 = val2;
+       ),
+
+       TP_printk("[0x%02X]:[0x%02X]:[%08X]:%u:%u",
+                 __entry->protocol_id, __entry->msg_id,
+                 __entry->res_id, __entry->val1, __entry->val2)
+);
+
 TRACE_EVENT(scmi_xfer_begin,
        TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
                 bool poll),