1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Trace events in pm8001 driver. 4 * 5 * Copyright 2020 Google LLC 6 * Author: Akshat Jain <akshatzen@google.com> 7 */ 8 9 #undef TRACE_SYSTEM 10 #define TRACE_SYSTEM pm80xx 11 12 #if !defined(_TRACE_PM80XX_H) || defined(TRACE_HEADER_MULTI_READ) 13 #define _TRACE_PM80XX_H 14 15 #include <linux/tracepoint.h> 16 #include "pm8001_sas.h" 17 18 TRACE_EVENT(pm80xx_request_issue, 19 TP_PROTO(u32 id, u32 phy_id, u32 htag, u32 ctlr_opcode, 20 u16 ata_opcode, int running_req), 21 22 TP_ARGS(id, phy_id, htag, ctlr_opcode, ata_opcode, running_req), 23 24 TP_STRUCT__entry( 25 __field(u32, id) 26 __field(u32, phy_id) 27 __field(u32, htag) 28 __field(u32, ctlr_opcode) 29 __field(u16, ata_opcode) 30 __field(int, running_req) 31 ), 32 33 TP_fast_assign( 34 __entry->id = id; 35 __entry->phy_id = phy_id; 36 __entry->htag = htag; 37 __entry->ctlr_opcode = ctlr_opcode; 38 __entry->ata_opcode = ata_opcode; 39 __entry->running_req = running_req; 40 ), 41 42 TP_printk("ctlr_id = %u phy_id = %u htag = %#x, ctlr_opcode = %#x ata_opcode = %#x running_req = %d", 43 __entry->id, __entry->phy_id, __entry->htag, 44 __entry->ctlr_opcode, __entry->ata_opcode, 45 __entry->running_req) 46 ); 47 48 TRACE_EVENT(pm80xx_request_complete, 49 TP_PROTO(u32 id, u32 phy_id, u32 htag, u32 ctlr_opcode, 50 u16 ata_opcode, int running_req), 51 52 TP_ARGS(id, phy_id, htag, ctlr_opcode, ata_opcode, running_req), 53 54 TP_STRUCT__entry( 55 __field(u32, id) 56 __field(u32, phy_id) 57 __field(u32, htag) 58 __field(u32, ctlr_opcode) 59 __field(u16, ata_opcode) 60 __field(int, running_req) 61 ), 62 63 TP_fast_assign( 64 __entry->id = id; 65 __entry->phy_id = phy_id; 66 __entry->htag = htag; 67 __entry->ctlr_opcode = ctlr_opcode; 68 __entry->ata_opcode = ata_opcode; 69 __entry->running_req = running_req; 70 ), 71 72 TP_printk("ctlr_id = %u phy_id = %u htag = %#x, ctlr_opcode = %#x ata_opcode = %#x running_req = %d", 73 __entry->id, __entry->phy_id, __entry->htag, 74 __entry->ctlr_opcode, __entry->ata_opcode, 75 __entry->running_req) 76 ); 77 78 TRACE_EVENT(pm80xx_mpi_build_cmd, 79 TP_PROTO(u32 id, u32 opc, u32 htag, u32 qi, u32 pi, u32 ci), 80 81 TP_ARGS(id, opc, htag, qi, pi, ci), 82 83 TP_STRUCT__entry( 84 __field(u32, id) 85 __field(u32, opc) 86 __field(u32, htag) 87 __field(u32, qi) 88 __field(u32, pi) 89 __field(u32, ci) 90 ), 91 92 TP_fast_assign( 93 __entry->id = id; 94 __entry->opc = opc; 95 __entry->htag = htag; 96 __entry->qi = qi; 97 __entry->pi = pi; 98 __entry->ci = ci; 99 ), 100 101 TP_printk("ctlr_id = %u opc = %#x htag = %#x QI = %u PI = %u CI = %u", 102 __entry->id, __entry->opc, __entry->htag, __entry->qi, 103 __entry->pi, __entry->ci) 104 ); 105 106 #endif /* _TRACE_PM80XX_H_ */ 107 108 #undef TRACE_INCLUDE_PATH 109 #undef TRACE_INCLUDE_FILE 110 #define TRACE_INCLUDE_PATH . 111 #define TRACE_INCLUDE_FILE pm80xx_tracepoints 112 113 #include <trace/define_trace.h> 114