1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Marvell OcteonTx2 RVU Admin Function driver tracepoints 3 * 4 * Copyright (C) 2020 Marvell International Ltd. 5 */ 6 7 #undef TRACE_SYSTEM 8 #define TRACE_SYSTEM rvu 9 10 #if !defined(__RVU_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 11 #define __RVU_TRACE_H 12 13 #include <linux/types.h> 14 #include <linux/tracepoint.h> 15 #include <linux/pci.h> 16 17 #include "mbox.h" 18 19 TRACE_EVENT(otx2_msg_alloc, 20 TP_PROTO(const struct pci_dev *pdev, u16 id, u64 size), 21 TP_ARGS(pdev, id, size), 22 TP_STRUCT__entry(__string(dev, pci_name(pdev)) 23 __field(u16, id) 24 __field(u64, size) 25 ), 26 TP_fast_assign(__assign_str(dev, pci_name(pdev)); 27 __entry->id = id; 28 __entry->size = size; 29 ), 30 TP_printk("[%s] msg:(%s) size:%lld\n", __get_str(dev), 31 otx2_mbox_id2name(__entry->id), __entry->size) 32 ); 33 34 TRACE_EVENT(otx2_msg_send, 35 TP_PROTO(const struct pci_dev *pdev, u16 num_msgs, u64 msg_size), 36 TP_ARGS(pdev, num_msgs, msg_size), 37 TP_STRUCT__entry(__string(dev, pci_name(pdev)) 38 __field(u16, num_msgs) 39 __field(u64, msg_size) 40 ), 41 TP_fast_assign(__assign_str(dev, pci_name(pdev)); 42 __entry->num_msgs = num_msgs; 43 __entry->msg_size = msg_size; 44 ), 45 TP_printk("[%s] sent %d msg(s) of size:%lld\n", __get_str(dev), 46 __entry->num_msgs, __entry->msg_size) 47 ); 48 49 TRACE_EVENT(otx2_msg_check, 50 TP_PROTO(const struct pci_dev *pdev, u16 reqid, u16 rspid, int rc), 51 TP_ARGS(pdev, reqid, rspid, rc), 52 TP_STRUCT__entry(__string(dev, pci_name(pdev)) 53 __field(u16, reqid) 54 __field(u16, rspid) 55 __field(int, rc) 56 ), 57 TP_fast_assign(__assign_str(dev, pci_name(pdev)); 58 __entry->reqid = reqid; 59 __entry->rspid = rspid; 60 __entry->rc = rc; 61 ), 62 TP_printk("[%s] req->id:0x%x rsp->id:0x%x resp_code:%d\n", 63 __get_str(dev), __entry->reqid, 64 __entry->rspid, __entry->rc) 65 ); 66 67 TRACE_EVENT(otx2_msg_interrupt, 68 TP_PROTO(const struct pci_dev *pdev, const char *msg, u64 intr), 69 TP_ARGS(pdev, msg, intr), 70 TP_STRUCT__entry(__string(dev, pci_name(pdev)) 71 __string(str, msg) 72 __field(u64, intr) 73 ), 74 TP_fast_assign(__assign_str(dev, pci_name(pdev)); 75 __assign_str(str, msg); 76 __entry->intr = intr; 77 ), 78 TP_printk("[%s] mbox interrupt %s (0x%llx)\n", __get_str(dev), 79 __get_str(str), __entry->intr) 80 ); 81 82 TRACE_EVENT(otx2_msg_process, 83 TP_PROTO(const struct pci_dev *pdev, u16 id, int err), 84 TP_ARGS(pdev, id, err), 85 TP_STRUCT__entry(__string(dev, pci_name(pdev)) 86 __field(u16, id) 87 __field(int, err) 88 ), 89 TP_fast_assign(__assign_str(dev, pci_name(pdev)); 90 __entry->id = id; 91 __entry->err = err; 92 ), 93 TP_printk("[%s] msg:(%s) error:%d\n", __get_str(dev), 94 otx2_mbox_id2name(__entry->id), __entry->err) 95 ); 96 97 #endif /* __RVU_TRACE_H */ 98 99 #undef TRACE_INCLUDE_PATH 100 #define TRACE_INCLUDE_PATH . 101 102 #undef TRACE_INCLUDE_FILE 103 #define TRACE_INCLUDE_FILE rvu_trace 104 105 #include <trace/define_trace.h> 106