brintos

brintos / linux-shallow public Read only

0
0
Text · 3.0 KiB · 62fb305 Raw
147 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/* Tracepoints for vfio_ccw driver3 *4 * Copyright IBM Corp. 20185 *6 * Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>7 *            Halil Pasic <pasic@linux.vnet.ibm.com>8 */9 10#include "cio.h"11 12#undef TRACE_SYSTEM13#define TRACE_SYSTEM vfio_ccw14 15#if !defined(_VFIO_CCW_TRACE_) || defined(TRACE_HEADER_MULTI_READ)16#define _VFIO_CCW_TRACE_17 18#include <linux/tracepoint.h>19 20TRACE_EVENT(vfio_ccw_chp_event,21	TP_PROTO(struct subchannel_id schid,22		 int mask,23		 int event),24	TP_ARGS(schid, mask, event),25 26	TP_STRUCT__entry(27		__field(u8, cssid)28		__field(u8, ssid)29		__field(u16, sch_no)30		__field(int, mask)31		__field(int, event)32	),33 34	TP_fast_assign(35		__entry->cssid = schid.cssid;36		__entry->ssid = schid.ssid;37		__entry->sch_no = schid.sch_no;38		__entry->mask = mask;39		__entry->event = event;40	),41 42	TP_printk("schid=%x.%x.%04x mask=0x%x event=%d",43		  __entry->cssid,44		  __entry->ssid,45		  __entry->sch_no,46		  __entry->mask,47		  __entry->event)48);49 50TRACE_EVENT(vfio_ccw_fsm_async_request,51	TP_PROTO(struct subchannel_id schid,52		 int command,53		 int errno),54	TP_ARGS(schid, command, errno),55 56	TP_STRUCT__entry(57		__field(u8, cssid)58		__field(u8, ssid)59		__field(u16, sch_no)60		__field(int, command)61		__field(int, errno)62	),63 64	TP_fast_assign(65		__entry->cssid = schid.cssid;66		__entry->ssid = schid.ssid;67		__entry->sch_no = schid.sch_no;68		__entry->command = command;69		__entry->errno = errno;70	),71 72	TP_printk("schid=%x.%x.%04x command=0x%x errno=%d",73		  __entry->cssid,74		  __entry->ssid,75		  __entry->sch_no,76		  __entry->command,77		  __entry->errno)78);79 80TRACE_EVENT(vfio_ccw_fsm_event,81	TP_PROTO(struct subchannel_id schid, int state, int event),82	TP_ARGS(schid, state, event),83 84	TP_STRUCT__entry(85		__field(u8, cssid)86		__field(u8, ssid)87		__field(u16, schno)88		__field(int, state)89		__field(int, event)90	),91 92	TP_fast_assign(93		__entry->cssid = schid.cssid;94		__entry->ssid = schid.ssid;95		__entry->schno = schid.sch_no;96		__entry->state = state;97		__entry->event = event;98	),99 100	TP_printk("schid=%x.%x.%04x state=%d event=%d",101		__entry->cssid, __entry->ssid, __entry->schno,102		__entry->state,103		__entry->event)104);105 106TRACE_EVENT(vfio_ccw_fsm_io_request,107	TP_PROTO(int fctl, struct subchannel_id schid, int errno, char *errstr),108	TP_ARGS(fctl, schid, errno, errstr),109 110	TP_STRUCT__entry(111		__field(u8, cssid)112		__field(u8, ssid)113		__field(u16, sch_no)114		__field(int, fctl)115		__field(int, errno)116		__field(char*, errstr)117	),118 119	TP_fast_assign(120		__entry->cssid = schid.cssid;121		__entry->ssid = schid.ssid;122		__entry->sch_no = schid.sch_no;123		__entry->fctl = fctl;124		__entry->errno = errno;125		__entry->errstr = errstr;126	),127 128	TP_printk("schid=%x.%x.%04x fctl=0x%x errno=%d info=%s",129		  __entry->cssid,130		  __entry->ssid,131		  __entry->sch_no,132		  __entry->fctl,133		  __entry->errno,134		  __entry->errstr)135);136 137#endif /* _VFIO_CCW_TRACE_ */138 139/* This part must be outside protection */140 141#undef TRACE_INCLUDE_PATH142#define TRACE_INCLUDE_PATH .143#undef TRACE_INCLUDE_FILE144#define TRACE_INCLUDE_FILE vfio_ccw_trace145 146#include <trace/define_trace.h>147