tracing: systemview: add tracing for message queues

Add missing hooks for message queues.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
diff --git a/subsys/tracing/sysview/SYSVIEW_Zephyr.txt b/subsys/tracing/sysview/SYSVIEW_Zephyr.txt
index c6bede4..bc0c37a 100644
--- a/subsys/tracing/sysview/SYSVIEW_Zephyr.txt
+++ b/subsys/tracing/sysview/SYSVIEW_Zephyr.txt
@@ -67,6 +67,7 @@
 62  k_msgq_cleanup             msgq=%I  | Returns %ErrCodePosix
 63  k_msgq_peek                msgq=%I, data=%p | Returns %ErrCodeMsg
 64  k_msgq_purge               msgq=%I
+134 k_msgq_put_front           msgq=%I, data=%p, Timeout=%TimeOut | Returns %ErrCodeMsg
 
 65  k_mbox_init                mbox=%I
 66  k_mbox_put                 mbox=%I, tx_msg=%p, Timeout=%TimeOut | Returns %ErrCodeMsg
diff --git a/subsys/tracing/sysview/tracing_sysview.h b/subsys/tracing/sysview/tracing_sysview.h
index 6867a14..ad06b4c 100644
--- a/subsys/tracing/sysview/tracing_sysview.h
+++ b/subsys/tracing/sysview/tracing_sysview.h
@@ -343,10 +343,10 @@
 #define sys_port_trace_k_condvar_broadcast_exit(condvar, ret)                                      \
 	SEGGER_SYSVIEW_RecordEndCallU32(TID_CONDVAR_BROADCAST, (uint32_t)ret)
 
-#define sys_port_trace_k_condvar_wait_enter(condvar)                                               \
-	SEGGER_SYSVIEW_RecordU32(TID_CONDVAR_WAIT, (uint32_t)(uintptr_t)condvar)
+#define sys_port_trace_k_condvar_wait_enter(condvar, timeout)                                               \
+	SEGGER_SYSVIEW_RecordU32x2(TID_CONDVAR_WAIT, (uint32_t)(uintptr_t)condvar, (uint32_t)timeout.ticks)
 
-#define sys_port_trace_k_condvar_wait_exit(condvar, ret)                                           \
+#define sys_port_trace_k_condvar_wait_exit(condvar, timeout, ret)                                           \
 	SEGGER_SYSVIEW_RecordEndCallU32(TID_CONDVAR_WAIT, (uint32_t)ret)
 
 #define sys_port_trace_k_queue_init(queue)                                                         \
@@ -505,22 +505,50 @@
 #define sys_port_trace_k_stack_pop_blocking(stack, timeout)
 #define sys_port_trace_k_stack_pop_exit(stack, timeout, ret)
 
-#define sys_port_trace_k_msgq_init(msgq)
-#define sys_port_trace_k_msgq_alloc_init_enter(msgq)
-#define sys_port_trace_k_msgq_alloc_init_exit(msgq, ret)
-#define sys_port_trace_k_msgq_cleanup_enter(msgq)
-#define sys_port_trace_k_msgq_cleanup_exit(msgq, ret)
-#define sys_port_trace_k_msgq_put_enter(msgq, timeout)
+#define sys_port_trace_k_msgq_init(msgq) \
+	SEGGER_SYSVIEW_RecordU32(TID_MSGQ_INIT, (uint32_t)(uintptr_t)msgq)
+
+#define sys_port_trace_k_msgq_alloc_init_enter(msgq) \
+	SEGGER_SYSVIEW_RecordU32(TID_MSGQ_INIT, (uint32_t)(uintptr_t)msgq)
+
+#define sys_port_trace_k_msgq_alloc_init_exit(msgq, ret) \
+	SEGGER_SYSVIEW_RecordEndCall(TID_MSGQ_INIT)
+
+#define sys_port_trace_k_msgq_cleanup_enter(msgq) \
+	SEGGER_SYSVIEW_RecordU32(TID_MSGQ_CLEANUP, (uint32_t)(uintptr_t)msgq)
+
+#define sys_port_trace_k_msgq_cleanup_exit(msgq, ret) \
+	SEGGER_SYSVIEW_RecordEndCall(TID_MSGQ_CLEANUP)
+
+#define sys_port_trace_k_msgq_put_enter(msgq, timeout) \
+	SEGGER_SYSVIEW_RecordU32x2(TID_MSGQ_PUT, (uint32_t)(uintptr_t)msgq, (uint32_t)timeout.ticks)
+
 #define sys_port_trace_k_msgq_put_blocking(msgq, timeout)
-#define sys_port_trace_k_msgq_put_exit(msgq, timeout, ret)
-#define sys_port_trace_k_msgq_put_front_enter(msgq, timeout)
+
+#define sys_port_trace_k_msgq_put_exit(msgq, timeout, ret) \
+	SEGGER_SYSVIEW_RecordEndCall(TID_MSGQ_PUT)
+
+#define sys_port_trace_k_msgq_put_front_enter(msgq, timeout) \
+	SEGGER_SYSVIEW_RecordU32x2(TID_MSGQ_PUT_FRONT, (uint32_t)(uintptr_t)msgq, (uint32_t)timeout.ticks)
+
 #define sys_port_trace_k_msgq_put_front_blocking(msgq, timeout)
-#define sys_port_trace_k_msgq_put_front_exit(msgq, timeout, ret)
-#define sys_port_trace_k_msgq_get_enter(msgq, timeout)
+
+#define sys_port_trace_k_msgq_put_front_exit(msgq, timeout, ret) \
+	SEGGER_SYSVIEW_RecordEndCall(TID_MSGQ_PUT_FRONT)
+
+#define sys_port_trace_k_msgq_get_enter(msgq, timeout) \
+	SEGGER_SYSVIEW_RecordU32x2(TID_MSGQ_GET, (uint32_t)(uintptr_t)msgq, (uint32_t)timeout.ticks)
+
 #define sys_port_trace_k_msgq_get_blocking(msgq, timeout)
-#define sys_port_trace_k_msgq_get_exit(msgq, timeout, ret)
-#define sys_port_trace_k_msgq_peek(msgq, ret)
-#define sys_port_trace_k_msgq_purge(msgq)
+
+#define sys_port_trace_k_msgq_get_exit(msgq, timeout, ret) \
+	SEGGER_SYSVIEW_RecordEndCall(TID_MSGQ_GET)
+
+#define sys_port_trace_k_msgq_peek(msgq, ret) \
+	SEGGER_SYSVIEW_RecordU32(TID_MSGQ_PEEK, (uint32_t)(uintptr_t)msgq)
+
+#define sys_port_trace_k_msgq_purge(msgq) \
+	SEGGER_SYSVIEW_RecordU32(TID_MSGQ_PURGE, (uint32_t)(uintptr_t)msgq)
 
 #define sys_port_trace_k_mbox_init(mbox)
 #define sys_port_trace_k_mbox_message_put_enter(mbox, timeout)
diff --git a/subsys/tracing/sysview/tracing_sysview_ids.h b/subsys/tracing/sysview/tracing_sysview_ids.h
index 1ad2b2f..aa3c9b2 100644
--- a/subsys/tracing/sysview/tracing_sysview_ids.h
+++ b/subsys/tracing/sysview/tracing_sysview_ids.h
@@ -47,12 +47,13 @@
 #define TID_STACK_POP           (25u + TID_OFFSET)
 #define TID_QUEUE_STACK_CLEANUP (26u + TID_OFFSET)
 
-#define TID_MSGQ_INIT    (27u + TID_OFFSET)
-#define TID_MSGQ_PUT     (28u + TID_OFFSET)
-#define TID_MSGQ_GET     (29u + TID_OFFSET)
-#define TID_MSGQ_CLEANUP (30u + TID_OFFSET)
-#define TID_MSQG_PEEK    (31u + TID_OFFSET)
-#define TID_MSGQ_PURGE   (32u + TID_OFFSET)
+#define TID_MSGQ_INIT      (27u + TID_OFFSET)
+#define TID_MSGQ_PUT       (28u + TID_OFFSET)
+#define TID_MSGQ_GET       (29u + TID_OFFSET)
+#define TID_MSGQ_CLEANUP   (30u + TID_OFFSET)
+#define TID_MSGQ_PEEK      (31u + TID_OFFSET)
+#define TID_MSGQ_PURGE     (32u + TID_OFFSET)
+#define TID_MSGQ_PUT_FRONT (50u + TID_OFFSET)
 
 #define TID_MBOX_INIT           (33u + TID_OFFSET)
 #define TID_MBOX_PUT            (34u + TID_OFFSET)