114 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Trace events in pm8001 driver.4 *5 * Copyright 2020 Google LLC6 * Author: Akshat Jain <akshatzen@google.com>7 */8 9#undef TRACE_SYSTEM10#define TRACE_SYSTEM pm80xx11 12#if !defined(_TRACE_PM80XX_H) || defined(TRACE_HEADER_MULTI_READ)13#define _TRACE_PM80XX_H14 15#include <linux/tracepoint.h>16#include "pm8001_sas.h"17 18TRACE_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 48TRACE_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 78TRACE_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_PATH109#undef TRACE_INCLUDE_FILE110#define TRACE_INCLUDE_PATH .111#define TRACE_INCLUDE_FILE pm80xx_tracepoints112 113#include <trace/define_trace.h>114