FILE
trace.h
File preview with syntax highlighting.
linux-6.19.14/drivers/usb/typec/ucsi/trace.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2 3#undef TRACE_SYSTEM 4#define TRACE_SYSTEM ucsi 5 6#if !defined(__UCSI_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) 7#define __UCSI_TRACE_H 8 9#include <linux/tracepoint.h> 10#include <linux/usb/typec_altmode.h> 11 12const char *ucsi_cmd_str(u64 raw_cmd); 13const char *ucsi_recipient_str(u8 recipient); 14 15DECLARE_EVENT_CLASS(ucsi_log_command, 16 TP_PROTO(u64 command, int ret), 17 TP_ARGS(command, ret), 18 TP_STRUCT__entry( 19 __field(u64, ctrl) 20 __field(int, ret) 21 ), 22 TP_fast_assign( 23 __entry->ctrl = command; 24 __entry->ret = ret; 25 ), 26 TP_printk("%s -> %s (err=%d)", ucsi_cmd_str(__entry->ctrl), 27 __entry->ret < 0 ? "FAIL" : "OK", 28 __entry->ret < 0 ? __entry->ret : 0) 29); 30 31DEFINE_EVENT(ucsi_log_command, ucsi_run_command, 32 TP_PROTO(u64 command, int ret), 33 TP_ARGS(command, ret) 34); 35 36DEFINE_EVENT(ucsi_log_command, ucsi_reset_ppm, 37 TP_PROTO(u64 command, int ret), 38 TP_ARGS(command, ret) 39); 40 41DECLARE_EVENT_CLASS(ucsi_log_connector_status, 42 TP_PROTO(int port, struct ucsi_connector *con), 43 TP_ARGS(port, con), 44 TP_STRUCT__entry( 45 __field(int, port) 46 __field(u16, change) 47 __field(u8, opmode) 48 __field(u8, connected) 49 __field(u8, pwr_dir) 50 __field(u8, partner_flags) 51 __field(u8, partner_type) 52 __field(u32, request_data_obj) 53 __field(u8, bc_status) 54 ), 55 TP_fast_assign( 56 __entry->port = port - 1; 57 __entry->change = UCSI_CONSTAT(con, CHANGE); 58 __entry->opmode = UCSI_CONSTAT(con, PWR_OPMODE); 59 __entry->connected = UCSI_CONSTAT(con, CONNECTED); 60 __entry->pwr_dir = UCSI_CONSTAT(con, PWR_DIR); 61 __entry->partner_flags = UCSI_CONSTAT(con, PARTNER_FLAGS); 62 __entry->partner_type = UCSI_CONSTAT(con, PARTNER_TYPE); 63 __entry->request_data_obj = UCSI_CONSTAT(con, RDO); 64 __entry->bc_status = UCSI_CONSTAT(con, BC_STATUS); 65 ), 66 TP_printk("port%d status: change=%04x, opmode=%x, connected=%d, " 67 "sourcing=%d, partner_flags=%x, partner_type=%x, " 68 "request_data_obj=%08x, BC status=%x", __entry->port, 69 __entry->change, __entry->opmode, __entry->connected, 70 __entry->pwr_dir, __entry->partner_flags, __entry->partner_type, 71 __entry->request_data_obj, __entry->bc_status) 72); 73 74DEFINE_EVENT(ucsi_log_connector_status, ucsi_connector_change, 75 TP_PROTO(int port, struct ucsi_connector *con), 76 TP_ARGS(port, con) 77); 78 79DEFINE_EVENT(ucsi_log_connector_status, ucsi_register_port, 80 TP_PROTO(int port, struct ucsi_connector *con), 81 TP_ARGS(port, con) 82); 83 84DECLARE_EVENT_CLASS(ucsi_log_register_altmode, 85 TP_PROTO(u8 recipient, struct typec_altmode *alt), 86 TP_ARGS(recipient, alt), 87 TP_STRUCT__entry( 88 __field(u8, recipient) 89 __field(u16, svid) 90 __field(u8, mode) 91 __field(u32, vdo) 92 ), 93 TP_fast_assign( 94 __entry->recipient = recipient; 95 __entry->svid = alt->svid; 96 __entry->mode = alt->mode; 97 __entry->vdo = alt->vdo; 98 ), 99 TP_printk("%s alt mode: svid %04x, mode %d vdo %x", 100 ucsi_recipient_str(__entry->recipient), __entry->svid, 101 __entry->mode, __entry->vdo) 102); 103 104DEFINE_EVENT(ucsi_log_register_altmode, ucsi_register_altmode, 105 TP_PROTO(u8 recipient, struct typec_altmode *alt), 106 TP_ARGS(recipient, alt) 107); 108 109#endif /* __UCSI_TRACE_H */ 110 111/* This part must be outside protection */ 112 113#undef TRACE_INCLUDE_PATH 114#define TRACE_INCLUDE_PATH . 115 116#undef TRACE_INCLUDE_FILE 117#define TRACE_INCLUDE_FILE trace 118 119#include <trace/define_trace.h>
~/
Read-only file preview.