cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

trace_tid.h (44979B)


      1/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
      2/*
      3 * Copyright(c) 2018 Intel Corporation.
      4 *
      5 */
      6#if !defined(__HFI1_TRACE_TID_H) || defined(TRACE_HEADER_MULTI_READ)
      7#define __HFI1_TRACE_TID_H
      8
      9#include <linux/tracepoint.h>
     10#include <linux/trace_seq.h>
     11
     12#include "hfi.h"
     13
     14#define tidtype_name(type) { PT_##type, #type }
     15#define show_tidtype(type)                   \
     16__print_symbolic(type,                       \
     17	tidtype_name(EXPECTED),              \
     18	tidtype_name(EAGER),                 \
     19	tidtype_name(INVALID))               \
     20
     21#undef TRACE_SYSTEM
     22#define TRACE_SYSTEM hfi1_tid
     23
     24u8 hfi1_trace_get_tid_ctrl(u32 ent);
     25u16 hfi1_trace_get_tid_len(u32 ent);
     26u16 hfi1_trace_get_tid_idx(u32 ent);
     27
     28#define OPFN_PARAM_PRN "[%s] qpn 0x%x %s OPFN: qp 0x%x, max read %u, " \
     29		       "max write %u, max length %u, jkey 0x%x timeout %u " \
     30		       "urg %u"
     31
     32#define TID_FLOW_PRN "[%s] qpn 0x%x flow %d: idx %d resp_ib_psn 0x%x " \
     33		     "generation 0x%x fpsn 0x%x-%x r_next_psn 0x%x " \
     34		     "ib_psn 0x%x-%x npagesets %u tnode_cnt %u " \
     35		     "tidcnt %u tid_idx %u tid_offset %u length %u sent %u"
     36
     37#define TID_NODE_PRN "[%s] qpn 0x%x  %s idx %u grp base 0x%x map 0x%x " \
     38		     "used %u cnt %u"
     39
     40#define RSP_INFO_PRN "[%s] qpn 0x%x state 0x%x s_state 0x%x psn 0x%x " \
     41		     "r_psn 0x%x r_state 0x%x r_flags 0x%x " \
     42		     "r_head_ack_queue %u s_tail_ack_queue %u " \
     43		     "s_acked_ack_queue %u s_ack_state 0x%x " \
     44		     "s_nak_state 0x%x s_flags 0x%x ps_flags 0x%x " \
     45		     "iow_flags 0x%lx"
     46
     47#define SENDER_INFO_PRN "[%s] qpn 0x%x state 0x%x s_cur %u s_tail %u " \
     48			"s_head %u s_acked %u s_last %u s_psn 0x%x " \
     49			"s_last_psn 0x%x s_flags 0x%x ps_flags 0x%x " \
     50			"iow_flags 0x%lx s_state 0x%x s_num_rd %u s_retry %u"
     51
     52#define TID_READ_SENDER_PRN "[%s] qpn 0x%x newreq %u tid_r_reqs %u " \
     53			    "tid_r_comp %u pending_tid_r_segs %u " \
     54			    "s_flags 0x%x ps_flags 0x%x iow_flags 0x%lx " \
     55			    "s_state 0x%x hw_flow_index %u generation 0x%x " \
     56			    "fpsn 0x%x"
     57
     58#define TID_REQ_PRN "[%s] qpn 0x%x newreq %u opcode 0x%x psn 0x%x lpsn 0x%x " \
     59		    "cur_seg %u comp_seg %u ack_seg %u alloc_seg %u " \
     60		    "total_segs %u setup_head %u clear_tail %u flow_idx %u " \
     61		    "acked_tail %u state %u r_ack_psn 0x%x r_flow_psn 0x%x " \
     62		    "r_last_ackd 0x%x s_next_psn 0x%x"
     63
     64#define RCV_ERR_PRN "[%s] qpn 0x%x s_flags 0x%x state 0x%x " \
     65		    "s_acked_ack_queue %u s_tail_ack_queue %u " \
     66		    "r_head_ack_queue %u opcode 0x%x psn 0x%x r_psn 0x%x " \
     67		    " diff %d"
     68
     69#define TID_WRITE_RSPDR_PRN "[%s] qpn 0x%x r_tid_head %u r_tid_tail %u " \
     70			    "r_tid_ack %u r_tid_alloc %u alloc_w_segs %u " \
     71			    "pending_tid_w_segs %u sync_pt %s " \
     72			    "ps_nak_psn 0x%x ps_nak_state 0x%x " \
     73			    "prnr_nak_state 0x%x hw_flow_index %u generation "\
     74			    "0x%x fpsn 0x%x resync %s" \
     75			    "r_next_psn_kdeth 0x%x"
     76
     77#define TID_WRITE_SENDER_PRN "[%s] qpn 0x%x newreq %u s_tid_cur %u " \
     78			     "s_tid_tail %u s_tid_head %u " \
     79			     "pending_tid_w_resp %u n_requests %u " \
     80			     "n_tid_requests %u s_flags 0x%x ps_flags 0x%x "\
     81			     "iow_flags 0x%lx s_state 0x%x s_retry %u"
     82
     83#define KDETH_EFLAGS_ERR_PRN "[%s] qpn 0x%x  TID ERR: RcvType 0x%x " \
     84			     "RcvTypeError 0x%x PSN 0x%x"
     85
     86DECLARE_EVENT_CLASS(/* class */
     87	hfi1_exp_tid_reg_unreg,
     88	TP_PROTO(unsigned int ctxt, u16 subctxt, u32 rarr, u32 npages,
     89		 unsigned long va, unsigned long pa, dma_addr_t dma),
     90	TP_ARGS(ctxt, subctxt, rarr, npages, va, pa, dma),
     91	TP_STRUCT__entry(/* entry */
     92		__field(unsigned int, ctxt)
     93		__field(u16, subctxt)
     94		__field(u32, rarr)
     95		__field(u32, npages)
     96		__field(unsigned long, va)
     97		__field(unsigned long, pa)
     98		__field(dma_addr_t, dma)
     99	),
    100	TP_fast_assign(/* assign */
    101		__entry->ctxt = ctxt;
    102		__entry->subctxt = subctxt;
    103		__entry->rarr = rarr;
    104		__entry->npages = npages;
    105		__entry->va = va;
    106		__entry->pa = pa;
    107		__entry->dma = dma;
    108	),
    109	TP_printk("[%u:%u] entry:%u, %u pages @ 0x%lx, va:0x%lx dma:0x%llx",
    110		  __entry->ctxt,
    111		  __entry->subctxt,
    112		  __entry->rarr,
    113		  __entry->npages,
    114		  __entry->pa,
    115		  __entry->va,
    116		  __entry->dma
    117	)
    118);
    119
    120DEFINE_EVENT(/* exp_tid_unreg */
    121	hfi1_exp_tid_reg_unreg, hfi1_exp_tid_unreg,
    122	TP_PROTO(unsigned int ctxt, u16 subctxt, u32 rarr, u32 npages,
    123		 unsigned long va, unsigned long pa, dma_addr_t dma),
    124	TP_ARGS(ctxt, subctxt, rarr, npages, va, pa, dma)
    125);
    126
    127DEFINE_EVENT(/* exp_tid_reg */
    128	hfi1_exp_tid_reg_unreg, hfi1_exp_tid_reg,
    129	TP_PROTO(unsigned int ctxt, u16 subctxt, u32 rarr, u32 npages,
    130		 unsigned long va, unsigned long pa, dma_addr_t dma),
    131	TP_ARGS(ctxt, subctxt, rarr, npages, va, pa, dma)
    132);
    133
    134TRACE_EVENT(/* put_tid */
    135	hfi1_put_tid,
    136	TP_PROTO(struct hfi1_devdata *dd,
    137		 u32 index, u32 type, unsigned long pa, u16 order),
    138	TP_ARGS(dd, index, type, pa, order),
    139	TP_STRUCT__entry(/* entry */
    140		DD_DEV_ENTRY(dd)
    141		__field(unsigned long, pa)
    142		__field(u32, index)
    143		__field(u32, type)
    144		__field(u16, order)
    145	),
    146	TP_fast_assign(/* assign */
    147		DD_DEV_ASSIGN(dd);
    148		__entry->pa = pa;
    149		__entry->index = index;
    150		__entry->type = type;
    151		__entry->order = order;
    152	),
    153	TP_printk("[%s] type %s pa %lx index %u order %u",
    154		  __get_str(dev),
    155		  show_tidtype(__entry->type),
    156		  __entry->pa,
    157		  __entry->index,
    158		  __entry->order
    159	)
    160);
    161
    162TRACE_EVENT(/* exp_tid_inval */
    163	hfi1_exp_tid_inval,
    164	TP_PROTO(unsigned int ctxt, u16 subctxt, unsigned long va, u32 rarr,
    165		 u32 npages, dma_addr_t dma),
    166	TP_ARGS(ctxt, subctxt, va, rarr, npages, dma),
    167	TP_STRUCT__entry(/* entry */
    168		__field(unsigned int, ctxt)
    169		__field(u16, subctxt)
    170		__field(unsigned long, va)
    171		__field(u32, rarr)
    172		__field(u32, npages)
    173		__field(dma_addr_t, dma)
    174	),
    175	TP_fast_assign(/* assign */
    176		__entry->ctxt = ctxt;
    177		__entry->subctxt = subctxt;
    178		__entry->va = va;
    179		__entry->rarr = rarr;
    180		__entry->npages = npages;
    181		__entry->dma = dma;
    182	),
    183	TP_printk("[%u:%u] entry:%u, %u pages @ 0x%lx dma: 0x%llx",
    184		  __entry->ctxt,
    185		  __entry->subctxt,
    186		  __entry->rarr,
    187		  __entry->npages,
    188		  __entry->va,
    189		  __entry->dma
    190	)
    191);
    192
    193DECLARE_EVENT_CLASS(/* opfn_state */
    194	hfi1_opfn_state_template,
    195	TP_PROTO(struct rvt_qp *qp),
    196	TP_ARGS(qp),
    197	TP_STRUCT__entry(/* entry */
    198		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    199		__field(u32, qpn)
    200		__field(u16, requested)
    201		__field(u16, completed)
    202		__field(u8, curr)
    203	),
    204	TP_fast_assign(/* assign */
    205		struct hfi1_qp_priv *priv = qp->priv;
    206
    207		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    208		__entry->qpn = qp->ibqp.qp_num;
    209		__entry->requested = priv->opfn.requested;
    210		__entry->completed = priv->opfn.completed;
    211		__entry->curr = priv->opfn.curr;
    212	),
    213	TP_printk(/* print */
    214		"[%s] qpn 0x%x requested 0x%x completed 0x%x curr 0x%x",
    215		__get_str(dev),
    216		__entry->qpn,
    217		__entry->requested,
    218		__entry->completed,
    219		__entry->curr
    220	)
    221);
    222
    223DEFINE_EVENT(/* event */
    224	hfi1_opfn_state_template, hfi1_opfn_state_conn_request,
    225	TP_PROTO(struct rvt_qp *qp),
    226	TP_ARGS(qp)
    227);
    228
    229DEFINE_EVENT(/* event */
    230	hfi1_opfn_state_template, hfi1_opfn_state_sched_conn_request,
    231	TP_PROTO(struct rvt_qp *qp),
    232	TP_ARGS(qp)
    233);
    234
    235DEFINE_EVENT(/* event */
    236	hfi1_opfn_state_template, hfi1_opfn_state_conn_response,
    237	TP_PROTO(struct rvt_qp *qp),
    238	TP_ARGS(qp)
    239);
    240
    241DEFINE_EVENT(/* event */
    242	hfi1_opfn_state_template, hfi1_opfn_state_conn_reply,
    243	TP_PROTO(struct rvt_qp *qp),
    244	TP_ARGS(qp)
    245);
    246
    247DEFINE_EVENT(/* event */
    248	hfi1_opfn_state_template, hfi1_opfn_state_conn_error,
    249	TP_PROTO(struct rvt_qp *qp),
    250	TP_ARGS(qp)
    251);
    252
    253DECLARE_EVENT_CLASS(/* opfn_data */
    254	hfi1_opfn_data_template,
    255	TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data),
    256	TP_ARGS(qp, capcode, data),
    257	TP_STRUCT__entry(/* entry */
    258		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    259		__field(u32, qpn)
    260		__field(u32, state)
    261		__field(u8, capcode)
    262		__field(u64, data)
    263	),
    264	TP_fast_assign(/* assign */
    265		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    266		__entry->qpn = qp->ibqp.qp_num;
    267		__entry->state = qp->state;
    268		__entry->capcode = capcode;
    269		__entry->data = data;
    270	),
    271	TP_printk(/* printk */
    272		"[%s] qpn 0x%x (state 0x%x) Capcode %u data 0x%llx",
    273		__get_str(dev),
    274		__entry->qpn,
    275		__entry->state,
    276		__entry->capcode,
    277		__entry->data
    278	)
    279);
    280
    281DEFINE_EVENT(/* event */
    282	hfi1_opfn_data_template, hfi1_opfn_data_conn_request,
    283	TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data),
    284	TP_ARGS(qp, capcode, data)
    285);
    286
    287DEFINE_EVENT(/* event */
    288	hfi1_opfn_data_template, hfi1_opfn_data_conn_response,
    289	TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data),
    290	TP_ARGS(qp, capcode, data)
    291);
    292
    293DEFINE_EVENT(/* event */
    294	hfi1_opfn_data_template, hfi1_opfn_data_conn_reply,
    295	TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data),
    296	TP_ARGS(qp, capcode, data)
    297);
    298
    299DECLARE_EVENT_CLASS(/* opfn_param */
    300	hfi1_opfn_param_template,
    301	TP_PROTO(struct rvt_qp *qp, char remote,
    302		 struct tid_rdma_params *param),
    303	TP_ARGS(qp, remote, param),
    304	TP_STRUCT__entry(/* entry */
    305		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    306		__field(u32, qpn)
    307		__field(char, remote)
    308		__field(u32, param_qp)
    309		__field(u32, max_len)
    310		__field(u16, jkey)
    311		__field(u8, max_read)
    312		__field(u8, max_write)
    313		__field(u8, timeout)
    314		__field(u8, urg)
    315	),
    316	TP_fast_assign(/* assign */
    317		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    318		__entry->qpn = qp->ibqp.qp_num;
    319		__entry->remote = remote;
    320		__entry->param_qp = param->qp;
    321		__entry->max_len = param->max_len;
    322		__entry->jkey = param->jkey;
    323		__entry->max_read = param->max_read;
    324		__entry->max_write = param->max_write;
    325		__entry->timeout = param->timeout;
    326		__entry->urg = param->urg;
    327	),
    328	TP_printk(/* print */
    329		OPFN_PARAM_PRN,
    330		__get_str(dev),
    331		__entry->qpn,
    332		__entry->remote ? "remote" : "local",
    333		__entry->param_qp,
    334		__entry->max_read,
    335		__entry->max_write,
    336		__entry->max_len,
    337		__entry->jkey,
    338		__entry->timeout,
    339		__entry->urg
    340	)
    341);
    342
    343DEFINE_EVENT(/* event */
    344	hfi1_opfn_param_template, hfi1_opfn_param,
    345	TP_PROTO(struct rvt_qp *qp, char remote,
    346		 struct tid_rdma_params *param),
    347	TP_ARGS(qp, remote, param)
    348);
    349
    350DECLARE_EVENT_CLASS(/* msg */
    351	hfi1_msg_template,
    352	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    353	TP_ARGS(qp, msg, more),
    354	TP_STRUCT__entry(/* entry */
    355		__field(u32, qpn)
    356		__string(msg, msg)
    357		__field(u64, more)
    358	),
    359	TP_fast_assign(/* assign */
    360		__entry->qpn = qp ? qp->ibqp.qp_num : 0;
    361		__assign_str(msg, msg);
    362		__entry->more = more;
    363	),
    364	TP_printk(/* print */
    365		"qpn 0x%x %s 0x%llx",
    366		__entry->qpn,
    367		__get_str(msg),
    368		__entry->more
    369	)
    370);
    371
    372DEFINE_EVENT(/* event */
    373	hfi1_msg_template, hfi1_msg_opfn_conn_request,
    374	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    375	TP_ARGS(qp, msg, more)
    376);
    377
    378DEFINE_EVENT(/* event */
    379	hfi1_msg_template, hfi1_msg_opfn_conn_error,
    380	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    381	TP_ARGS(qp, msg, more)
    382);
    383
    384DEFINE_EVENT(/* event */
    385	hfi1_msg_template, hfi1_msg_alloc_tids,
    386	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    387	TP_ARGS(qp, msg, more)
    388);
    389
    390DEFINE_EVENT(/* event */
    391	hfi1_msg_template, hfi1_msg_tid_restart_req,
    392	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    393	TP_ARGS(qp, msg, more)
    394);
    395
    396DEFINE_EVENT(/* event */
    397	hfi1_msg_template, hfi1_msg_handle_kdeth_eflags,
    398	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    399	TP_ARGS(qp, msg, more)
    400);
    401
    402DEFINE_EVENT(/* event */
    403	hfi1_msg_template, hfi1_msg_tid_timeout,
    404	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    405	TP_ARGS(qp, msg, more)
    406);
    407
    408DEFINE_EVENT(/* event */
    409	hfi1_msg_template, hfi1_msg_tid_retry_timeout,
    410	TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more),
    411	TP_ARGS(qp, msg, more)
    412);
    413
    414DECLARE_EVENT_CLASS(/* tid_flow_page */
    415	hfi1_tid_flow_page_template,
    416	TP_PROTO(struct rvt_qp *qp, struct tid_rdma_flow *flow, u32 index,
    417		 char mtu8k, char v1, void *vaddr),
    418	TP_ARGS(qp, flow, index, mtu8k, v1, vaddr),
    419	TP_STRUCT__entry(/* entry */
    420		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    421		__field(u32, qpn)
    422		__field(char, mtu8k)
    423		__field(char, v1)
    424		__field(u32, index)
    425		__field(u64, page)
    426		__field(u64, vaddr)
    427	),
    428	TP_fast_assign(/* assign */
    429		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    430		__entry->qpn = qp->ibqp.qp_num;
    431		__entry->mtu8k = mtu8k;
    432		__entry->v1 = v1;
    433		__entry->index = index;
    434		__entry->page = vaddr ? (u64)virt_to_page(vaddr) : 0ULL;
    435		__entry->vaddr = (u64)vaddr;
    436	),
    437	TP_printk(/* print */
    438		"[%s] qpn 0x%x page[%u]: page 0x%llx %s 0x%llx",
    439		__get_str(dev),
    440		__entry->qpn,
    441		__entry->index,
    442		__entry->page,
    443		__entry->mtu8k ? (__entry->v1 ? "v1" : "v0") : "vaddr",
    444		__entry->vaddr
    445	)
    446);
    447
    448DEFINE_EVENT(/* event */
    449	hfi1_tid_flow_page_template, hfi1_tid_flow_page,
    450	TP_PROTO(struct rvt_qp *qp, struct tid_rdma_flow *flow, u32 index,
    451		 char mtu8k, char v1, void *vaddr),
    452	TP_ARGS(qp, flow, index, mtu8k, v1, vaddr)
    453);
    454
    455DECLARE_EVENT_CLASS(/* tid_pageset */
    456	hfi1_tid_pageset_template,
    457	TP_PROTO(struct rvt_qp *qp, u32 index, u16 idx, u16 count),
    458	TP_ARGS(qp, index, idx, count),
    459	TP_STRUCT__entry(/* entry */
    460		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    461		__field(u32, qpn)
    462		__field(u32, index)
    463		__field(u16, idx)
    464		__field(u16, count)
    465	),
    466	TP_fast_assign(/* assign */
    467		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    468		__entry->qpn = qp->ibqp.qp_num;
    469		__entry->index = index;
    470		__entry->idx = idx;
    471		__entry->count = count;
    472	),
    473	TP_printk(/* print */
    474		"[%s] qpn 0x%x list[%u]: idx %u count %u",
    475		__get_str(dev),
    476		__entry->qpn,
    477		__entry->index,
    478		__entry->idx,
    479		__entry->count
    480	)
    481);
    482
    483DEFINE_EVENT(/* event */
    484	hfi1_tid_pageset_template, hfi1_tid_pageset,
    485	TP_PROTO(struct rvt_qp *qp, u32 index, u16 idx, u16 count),
    486	TP_ARGS(qp, index, idx, count)
    487);
    488
    489DECLARE_EVENT_CLASS(/* tid_fow */
    490	hfi1_tid_flow_template,
    491	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    492	TP_ARGS(qp, index, flow),
    493	TP_STRUCT__entry(/* entry */
    494		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    495		__field(u32, qpn)
    496		__field(int, index)
    497		__field(int, idx)
    498		__field(u32, resp_ib_psn)
    499		__field(u32, generation)
    500		__field(u32, fspsn)
    501		__field(u32, flpsn)
    502		__field(u32, r_next_psn)
    503		__field(u32, ib_spsn)
    504		__field(u32, ib_lpsn)
    505		__field(u32, npagesets)
    506		__field(u32, tnode_cnt)
    507		__field(u32, tidcnt)
    508		__field(u32, tid_idx)
    509		__field(u32, tid_offset)
    510		__field(u32, length)
    511		__field(u32, sent)
    512	),
    513	TP_fast_assign(/* assign */
    514		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    515		__entry->qpn = qp->ibqp.qp_num;
    516		__entry->index = index;
    517		__entry->idx = flow->idx;
    518		__entry->resp_ib_psn = flow->flow_state.resp_ib_psn;
    519		__entry->generation = flow->flow_state.generation;
    520		__entry->fspsn = full_flow_psn(flow,
    521					       flow->flow_state.spsn);
    522		__entry->flpsn = full_flow_psn(flow,
    523					       flow->flow_state.lpsn);
    524		__entry->r_next_psn = flow->flow_state.r_next_psn;
    525		__entry->ib_spsn = flow->flow_state.ib_spsn;
    526		__entry->ib_lpsn = flow->flow_state.ib_lpsn;
    527		__entry->npagesets = flow->npagesets;
    528		__entry->tnode_cnt = flow->tnode_cnt;
    529		__entry->tidcnt = flow->tidcnt;
    530		__entry->tid_idx = flow->tid_idx;
    531		__entry->tid_offset =  flow->tid_offset;
    532		__entry->length = flow->length;
    533		__entry->sent = flow->sent;
    534	),
    535	TP_printk(/* print */
    536		TID_FLOW_PRN,
    537		__get_str(dev),
    538		__entry->qpn,
    539		__entry->index,
    540		__entry->idx,
    541		__entry->resp_ib_psn,
    542		__entry->generation,
    543		__entry->fspsn,
    544		__entry->flpsn,
    545		__entry->r_next_psn,
    546		__entry->ib_spsn,
    547		__entry->ib_lpsn,
    548		__entry->npagesets,
    549		__entry->tnode_cnt,
    550		__entry->tidcnt,
    551		__entry->tid_idx,
    552		__entry->tid_offset,
    553		__entry->length,
    554		__entry->sent
    555	)
    556);
    557
    558DEFINE_EVENT(/* event */
    559	hfi1_tid_flow_template, hfi1_tid_flow_alloc,
    560	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    561	TP_ARGS(qp, index, flow)
    562);
    563
    564DEFINE_EVENT(/* event */
    565	hfi1_tid_flow_template, hfi1_tid_flow_build_read_pkt,
    566	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    567	TP_ARGS(qp, index, flow)
    568);
    569
    570DEFINE_EVENT(/* event */
    571	hfi1_tid_flow_template, hfi1_tid_flow_build_read_resp,
    572	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    573	TP_ARGS(qp, index, flow)
    574);
    575
    576DEFINE_EVENT(/* event */
    577	hfi1_tid_flow_template, hfi1_tid_flow_rcv_read_req,
    578	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    579	TP_ARGS(qp, index, flow)
    580);
    581
    582DEFINE_EVENT(/* event */
    583	hfi1_tid_flow_template, hfi1_tid_flow_rcv_read_resp,
    584	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    585	TP_ARGS(qp, index, flow)
    586);
    587
    588DEFINE_EVENT(/* event */
    589	hfi1_tid_flow_template, hfi1_tid_flow_restart_req,
    590	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    591	TP_ARGS(qp, index, flow)
    592);
    593
    594DEFINE_EVENT(/* event */
    595	hfi1_tid_flow_template, hfi1_tid_flow_build_write_resp,
    596	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    597	TP_ARGS(qp, index, flow)
    598);
    599
    600DEFINE_EVENT(/* event */
    601	hfi1_tid_flow_template, hfi1_tid_flow_rcv_write_resp,
    602	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    603	TP_ARGS(qp, index, flow)
    604);
    605
    606DEFINE_EVENT(/* event */
    607	hfi1_tid_flow_template, hfi1_tid_flow_build_write_data,
    608	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    609	TP_ARGS(qp, index, flow)
    610);
    611
    612DEFINE_EVENT(/* event */
    613	hfi1_tid_flow_template, hfi1_tid_flow_rcv_tid_ack,
    614	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    615	TP_ARGS(qp, index, flow)
    616);
    617
    618DEFINE_EVENT(/* event */
    619	hfi1_tid_flow_template, hfi1_tid_flow_rcv_resync,
    620	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    621	TP_ARGS(qp, index, flow)
    622);
    623
    624DEFINE_EVENT(/* event */
    625	hfi1_tid_flow_template, hfi1_tid_flow_handle_kdeth_eflags,
    626	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    627	TP_ARGS(qp, index, flow)
    628);
    629
    630DEFINE_EVENT(/* event */
    631	hfi1_tid_flow_template, hfi1_tid_flow_read_kdeth_eflags,
    632	TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow),
    633	TP_ARGS(qp, index, flow)
    634);
    635
    636DECLARE_EVENT_CLASS(/* tid_node */
    637	hfi1_tid_node_template,
    638	TP_PROTO(struct rvt_qp *qp, const char *msg, u32 index, u32 base,
    639		 u8 map, u8 used, u8 cnt),
    640	TP_ARGS(qp, msg, index, base, map, used, cnt),
    641	TP_STRUCT__entry(/* entry */
    642		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    643		__field(u32, qpn)
    644		__string(msg, msg)
    645		__field(u32, index)
    646		__field(u32, base)
    647		__field(u8, map)
    648		__field(u8, used)
    649		__field(u8, cnt)
    650	),
    651	TP_fast_assign(/* assign */
    652		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    653		__entry->qpn = qp->ibqp.qp_num;
    654		__assign_str(msg, msg);
    655		__entry->index = index;
    656		__entry->base = base;
    657		__entry->map = map;
    658		__entry->used = used;
    659		__entry->cnt = cnt;
    660	),
    661	TP_printk(/* print */
    662		TID_NODE_PRN,
    663		__get_str(dev),
    664		__entry->qpn,
    665		__get_str(msg),
    666		__entry->index,
    667		__entry->base,
    668		__entry->map,
    669		__entry->used,
    670		__entry->cnt
    671	)
    672);
    673
    674DEFINE_EVENT(/* event */
    675	hfi1_tid_node_template, hfi1_tid_node_add,
    676	TP_PROTO(struct rvt_qp *qp, const char *msg, u32 index, u32 base,
    677		 u8 map, u8 used, u8 cnt),
    678	TP_ARGS(qp, msg, index, base, map, used, cnt)
    679);
    680
    681DECLARE_EVENT_CLASS(/* tid_entry */
    682	hfi1_tid_entry_template,
    683	TP_PROTO(struct rvt_qp *qp, int index, u32 ent),
    684	TP_ARGS(qp, index, ent),
    685	TP_STRUCT__entry(/* entry */
    686		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    687		__field(u32, qpn)
    688		__field(int, index)
    689		__field(u8, ctrl)
    690		__field(u16, idx)
    691		__field(u16, len)
    692	),
    693	TP_fast_assign(/* assign */
    694		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    695		__entry->qpn = qp->ibqp.qp_num;
    696		__entry->index = index;
    697		__entry->ctrl = hfi1_trace_get_tid_ctrl(ent);
    698		__entry->idx = hfi1_trace_get_tid_idx(ent);
    699		__entry->len = hfi1_trace_get_tid_len(ent);
    700	),
    701	TP_printk(/* print */
    702		"[%s] qpn 0x%x TID entry %d: idx %u len %u ctrl 0x%x",
    703		__get_str(dev),
    704		__entry->qpn,
    705		__entry->index,
    706		__entry->idx,
    707		__entry->len,
    708		__entry->ctrl
    709	)
    710);
    711
    712DEFINE_EVENT(/* event */
    713	hfi1_tid_entry_template, hfi1_tid_entry_alloc,
    714	TP_PROTO(struct rvt_qp *qp, int index, u32 entry),
    715	TP_ARGS(qp, index, entry)
    716);
    717
    718DEFINE_EVENT(/* event */
    719	hfi1_tid_entry_template, hfi1_tid_entry_build_read_resp,
    720	TP_PROTO(struct rvt_qp *qp, int index, u32 ent),
    721	TP_ARGS(qp, index, ent)
    722);
    723
    724DEFINE_EVENT(/* event */
    725	hfi1_tid_entry_template, hfi1_tid_entry_rcv_read_req,
    726	TP_PROTO(struct rvt_qp *qp, int index, u32 ent),
    727	TP_ARGS(qp, index, ent)
    728);
    729
    730DEFINE_EVENT(/* event */
    731	hfi1_tid_entry_template, hfi1_tid_entry_rcv_write_resp,
    732	TP_PROTO(struct rvt_qp *qp, int index, u32 entry),
    733	TP_ARGS(qp, index, entry)
    734);
    735
    736DEFINE_EVENT(/* event */
    737	hfi1_tid_entry_template, hfi1_tid_entry_build_write_data,
    738	TP_PROTO(struct rvt_qp *qp, int index, u32 entry),
    739	TP_ARGS(qp, index, entry)
    740);
    741
    742DECLARE_EVENT_CLASS(/* rsp_info */
    743	hfi1_responder_info_template,
    744	TP_PROTO(struct rvt_qp *qp, u32 psn),
    745	TP_ARGS(qp, psn),
    746	TP_STRUCT__entry(/* entry */
    747		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    748		__field(u32, qpn)
    749		__field(u8, state)
    750		__field(u8, s_state)
    751		__field(u32, psn)
    752		__field(u32, r_psn)
    753		__field(u8, r_state)
    754		__field(u8, r_flags)
    755		__field(u8, r_head_ack_queue)
    756		__field(u8, s_tail_ack_queue)
    757		__field(u8, s_acked_ack_queue)
    758		__field(u8, s_ack_state)
    759		__field(u8, s_nak_state)
    760		__field(u8, r_nak_state)
    761		__field(u32, s_flags)
    762		__field(u32, ps_flags)
    763		__field(unsigned long, iow_flags)
    764	),
    765	TP_fast_assign(/* assign */
    766		struct hfi1_qp_priv *priv = qp->priv;
    767
    768		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    769		__entry->qpn = qp->ibqp.qp_num;
    770		__entry->state = qp->state;
    771		__entry->s_state = qp->s_state;
    772		__entry->psn = psn;
    773		__entry->r_psn = qp->r_psn;
    774		__entry->r_state = qp->r_state;
    775		__entry->r_flags = qp->r_flags;
    776		__entry->r_head_ack_queue = qp->r_head_ack_queue;
    777		__entry->s_tail_ack_queue = qp->s_tail_ack_queue;
    778		__entry->s_acked_ack_queue = qp->s_acked_ack_queue;
    779		__entry->s_ack_state = qp->s_ack_state;
    780		__entry->s_nak_state = qp->s_nak_state;
    781		__entry->s_flags = qp->s_flags;
    782		__entry->ps_flags = priv->s_flags;
    783		__entry->iow_flags = priv->s_iowait.flags;
    784	),
    785	TP_printk(/* print */
    786		RSP_INFO_PRN,
    787		__get_str(dev),
    788		__entry->qpn,
    789		__entry->state,
    790		__entry->s_state,
    791		__entry->psn,
    792		__entry->r_psn,
    793		__entry->r_state,
    794		__entry->r_flags,
    795		__entry->r_head_ack_queue,
    796		__entry->s_tail_ack_queue,
    797		__entry->s_acked_ack_queue,
    798		__entry->s_ack_state,
    799		__entry->s_nak_state,
    800		__entry->s_flags,
    801		__entry->ps_flags,
    802		__entry->iow_flags
    803	)
    804);
    805
    806DEFINE_EVENT(/* event */
    807	hfi1_responder_info_template, hfi1_rsp_make_rc_ack,
    808	TP_PROTO(struct rvt_qp *qp, u32 psn),
    809	TP_ARGS(qp, psn)
    810);
    811
    812DEFINE_EVENT(/* event */
    813	hfi1_responder_info_template, hfi1_rsp_rcv_tid_read_req,
    814	TP_PROTO(struct rvt_qp *qp, u32 psn),
    815	TP_ARGS(qp, psn)
    816);
    817
    818DEFINE_EVENT(/* event */
    819	hfi1_responder_info_template, hfi1_rsp_tid_rcv_error,
    820	TP_PROTO(struct rvt_qp *qp, u32 psn),
    821	TP_ARGS(qp, psn)
    822);
    823
    824DEFINE_EVENT(/* event */
    825	hfi1_responder_info_template, hfi1_rsp_tid_write_alloc_res,
    826	TP_PROTO(struct rvt_qp *qp, u32 psn),
    827	TP_ARGS(qp, psn)
    828);
    829
    830DEFINE_EVENT(/* event */
    831	hfi1_responder_info_template, hfi1_rsp_rcv_tid_write_req,
    832	TP_PROTO(struct rvt_qp *qp, u32 psn),
    833	TP_ARGS(qp, psn)
    834);
    835
    836DEFINE_EVENT(/* event */
    837	hfi1_responder_info_template, hfi1_rsp_build_tid_write_resp,
    838	TP_PROTO(struct rvt_qp *qp, u32 psn),
    839	TP_ARGS(qp, psn)
    840);
    841
    842DEFINE_EVENT(/* event */
    843	hfi1_responder_info_template, hfi1_rsp_rcv_tid_write_data,
    844	TP_PROTO(struct rvt_qp *qp, u32 psn),
    845	TP_ARGS(qp, psn)
    846);
    847
    848DEFINE_EVENT(/* event */
    849	hfi1_responder_info_template, hfi1_rsp_make_tid_ack,
    850	TP_PROTO(struct rvt_qp *qp, u32 psn),
    851	TP_ARGS(qp, psn)
    852);
    853
    854DEFINE_EVENT(/* event */
    855	hfi1_responder_info_template, hfi1_rsp_handle_kdeth_eflags,
    856	TP_PROTO(struct rvt_qp *qp, u32 psn),
    857	TP_ARGS(qp, psn)
    858);
    859
    860DEFINE_EVENT(/* event */
    861	hfi1_responder_info_template, hfi1_rsp_read_kdeth_eflags,
    862	TP_PROTO(struct rvt_qp *qp, u32 psn),
    863	TP_ARGS(qp, psn)
    864);
    865
    866DECLARE_EVENT_CLASS(/* sender_info */
    867	hfi1_sender_info_template,
    868	TP_PROTO(struct rvt_qp *qp),
    869	TP_ARGS(qp),
    870	TP_STRUCT__entry(/* entry */
    871		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    872		__field(u32, qpn)
    873		__field(u8, state)
    874		__field(u32, s_cur)
    875		__field(u32, s_tail)
    876		__field(u32, s_head)
    877		__field(u32, s_acked)
    878		__field(u32, s_last)
    879		__field(u32, s_psn)
    880		__field(u32, s_last_psn)
    881		__field(u32, s_flags)
    882		__field(u32, ps_flags)
    883		__field(unsigned long, iow_flags)
    884		__field(u8, s_state)
    885		__field(u8, s_num_rd)
    886		__field(u8, s_retry)
    887	),
    888	TP_fast_assign(/* assign */
    889		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    890		__entry->qpn = qp->ibqp.qp_num;
    891		__entry->state = qp->state;
    892		__entry->s_cur = qp->s_cur;
    893		__entry->s_tail = qp->s_tail;
    894		__entry->s_head = qp->s_head;
    895		__entry->s_acked = qp->s_acked;
    896		__entry->s_last = qp->s_last;
    897		__entry->s_psn = qp->s_psn;
    898		__entry->s_last_psn = qp->s_last_psn;
    899		__entry->s_flags = qp->s_flags;
    900		__entry->ps_flags = ((struct hfi1_qp_priv *)qp->priv)->s_flags;
    901		__entry->iow_flags =
    902			((struct hfi1_qp_priv *)qp->priv)->s_iowait.flags;
    903		__entry->s_state = qp->s_state;
    904		__entry->s_num_rd = qp->s_num_rd_atomic;
    905		__entry->s_retry = qp->s_retry;
    906	),
    907	TP_printk(/* print */
    908		SENDER_INFO_PRN,
    909		__get_str(dev),
    910		__entry->qpn,
    911		__entry->state,
    912		__entry->s_cur,
    913		__entry->s_tail,
    914		__entry->s_head,
    915		__entry->s_acked,
    916		__entry->s_last,
    917		__entry->s_psn,
    918		__entry->s_last_psn,
    919		__entry->s_flags,
    920		__entry->ps_flags,
    921		__entry->iow_flags,
    922		__entry->s_state,
    923		__entry->s_num_rd,
    924		__entry->s_retry
    925	)
    926);
    927
    928DEFINE_EVENT(/* event */
    929	hfi1_sender_info_template, hfi1_sender_make_rc_req,
    930	TP_PROTO(struct rvt_qp *qp),
    931	TP_ARGS(qp)
    932);
    933
    934DEFINE_EVENT(/* event */
    935	hfi1_sender_info_template, hfi1_sender_reset_psn,
    936	TP_PROTO(struct rvt_qp *qp),
    937	TP_ARGS(qp)
    938);
    939
    940DEFINE_EVENT(/* event */
    941	hfi1_sender_info_template, hfi1_sender_restart_rc,
    942	TP_PROTO(struct rvt_qp *qp),
    943	TP_ARGS(qp)
    944);
    945
    946DEFINE_EVENT(/* event */
    947	hfi1_sender_info_template, hfi1_sender_do_rc_ack,
    948	TP_PROTO(struct rvt_qp *qp),
    949	TP_ARGS(qp)
    950);
    951
    952DEFINE_EVENT(/* event */
    953	hfi1_sender_info_template, hfi1_sender_rcv_tid_read_resp,
    954	TP_PROTO(struct rvt_qp *qp),
    955	TP_ARGS(qp)
    956);
    957
    958DEFINE_EVENT(/* event */
    959	hfi1_sender_info_template, hfi1_sender_rcv_tid_ack,
    960	TP_PROTO(struct rvt_qp *qp),
    961	TP_ARGS(qp)
    962);
    963
    964DEFINE_EVENT(/* event */
    965	hfi1_sender_info_template, hfi1_sender_make_tid_pkt,
    966	TP_PROTO(struct rvt_qp *qp),
    967	TP_ARGS(qp)
    968);
    969
    970DEFINE_EVENT(/* event */
    971	hfi1_sender_info_template, hfi1_sender_read_kdeth_eflags,
    972	TP_PROTO(struct rvt_qp *qp),
    973	TP_ARGS(qp)
    974);
    975
    976DECLARE_EVENT_CLASS(/* tid_read_sender */
    977	hfi1_tid_read_sender_template,
    978	TP_PROTO(struct rvt_qp *qp, char newreq),
    979	TP_ARGS(qp, newreq),
    980	TP_STRUCT__entry(/* entry */
    981		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
    982		__field(u32, qpn)
    983		__field(char, newreq)
    984		__field(u32, tid_r_reqs)
    985		__field(u32, tid_r_comp)
    986		__field(u32, pending_tid_r_segs)
    987		__field(u32, s_flags)
    988		__field(u32, ps_flags)
    989		__field(unsigned long, iow_flags)
    990		__field(u8, s_state)
    991		__field(u32, hw_flow_index)
    992		__field(u32, generation)
    993		__field(u32, fpsn)
    994	),
    995	TP_fast_assign(/* assign */
    996		struct hfi1_qp_priv *priv = qp->priv;
    997
    998		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
    999		__entry->qpn = qp->ibqp.qp_num;
   1000		__entry->newreq = newreq;
   1001		__entry->tid_r_reqs = priv->tid_r_reqs;
   1002		__entry->tid_r_comp = priv->tid_r_comp;
   1003		__entry->pending_tid_r_segs = priv->pending_tid_r_segs;
   1004		__entry->s_flags = qp->s_flags;
   1005		__entry->ps_flags = priv->s_flags;
   1006		__entry->iow_flags = priv->s_iowait.flags;
   1007		__entry->s_state = priv->s_state;
   1008		__entry->hw_flow_index = priv->flow_state.index;
   1009		__entry->generation = priv->flow_state.generation;
   1010		__entry->fpsn = priv->flow_state.psn;
   1011	),
   1012	TP_printk(/* print */
   1013		TID_READ_SENDER_PRN,
   1014		__get_str(dev),
   1015		__entry->qpn,
   1016		__entry->newreq,
   1017		__entry->tid_r_reqs,
   1018		__entry->tid_r_comp,
   1019		__entry->pending_tid_r_segs,
   1020		__entry->s_flags,
   1021		__entry->ps_flags,
   1022		__entry->iow_flags,
   1023		__entry->s_state,
   1024		__entry->hw_flow_index,
   1025		__entry->generation,
   1026		__entry->fpsn
   1027	)
   1028);
   1029
   1030DEFINE_EVENT(/* event */
   1031	hfi1_tid_read_sender_template, hfi1_tid_read_sender_make_req,
   1032	TP_PROTO(struct rvt_qp *qp, char newreq),
   1033	TP_ARGS(qp, newreq)
   1034);
   1035
   1036DEFINE_EVENT(/* event */
   1037	hfi1_tid_read_sender_template, hfi1_tid_read_sender_kdeth_eflags,
   1038	TP_PROTO(struct rvt_qp *qp, char newreq),
   1039	TP_ARGS(qp, newreq)
   1040);
   1041
   1042DECLARE_EVENT_CLASS(/* tid_rdma_request */
   1043	hfi1_tid_rdma_request_template,
   1044	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1045		 struct tid_rdma_request *req),
   1046	TP_ARGS(qp, newreq, opcode, psn, lpsn, req),
   1047	TP_STRUCT__entry(/* entry */
   1048		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1049		__field(u32, qpn)
   1050		__field(char, newreq)
   1051		__field(u8, opcode)
   1052		__field(u32, psn)
   1053		__field(u32, lpsn)
   1054		__field(u32, cur_seg)
   1055		__field(u32, comp_seg)
   1056		__field(u32, ack_seg)
   1057		__field(u32, alloc_seg)
   1058		__field(u32, total_segs)
   1059		__field(u16, setup_head)
   1060		__field(u16, clear_tail)
   1061		__field(u16, flow_idx)
   1062		__field(u16, acked_tail)
   1063		__field(u32, state)
   1064		__field(u32, r_ack_psn)
   1065		__field(u32, r_flow_psn)
   1066		__field(u32, r_last_acked)
   1067		__field(u32, s_next_psn)
   1068	),
   1069	TP_fast_assign(/* assign */
   1070		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1071		__entry->qpn = qp->ibqp.qp_num;
   1072		__entry->newreq = newreq;
   1073		__entry->opcode = opcode;
   1074		__entry->psn = psn;
   1075		__entry->lpsn = lpsn;
   1076		__entry->cur_seg = req->cur_seg;
   1077		__entry->comp_seg = req->comp_seg;
   1078		__entry->ack_seg = req->ack_seg;
   1079		__entry->alloc_seg = req->alloc_seg;
   1080		__entry->total_segs = req->total_segs;
   1081		__entry->setup_head = req->setup_head;
   1082		__entry->clear_tail = req->clear_tail;
   1083		__entry->flow_idx = req->flow_idx;
   1084		__entry->acked_tail = req->acked_tail;
   1085		__entry->state = req->state;
   1086		__entry->r_ack_psn = req->r_ack_psn;
   1087		__entry->r_flow_psn = req->r_flow_psn;
   1088		__entry->r_last_acked = req->r_last_acked;
   1089		__entry->s_next_psn = req->s_next_psn;
   1090	),
   1091	TP_printk(/* print */
   1092		TID_REQ_PRN,
   1093		__get_str(dev),
   1094		__entry->qpn,
   1095		__entry->newreq,
   1096		__entry->opcode,
   1097		__entry->psn,
   1098		__entry->lpsn,
   1099		__entry->cur_seg,
   1100		__entry->comp_seg,
   1101		__entry->ack_seg,
   1102		__entry->alloc_seg,
   1103		__entry->total_segs,
   1104		__entry->setup_head,
   1105		__entry->clear_tail,
   1106		__entry->flow_idx,
   1107		__entry->acked_tail,
   1108		__entry->state,
   1109		__entry->r_ack_psn,
   1110		__entry->r_flow_psn,
   1111		__entry->r_last_acked,
   1112		__entry->s_next_psn
   1113	)
   1114);
   1115
   1116DEFINE_EVENT(/* event */
   1117	hfi1_tid_rdma_request_template, hfi1_tid_req_make_req_read,
   1118	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1119		 struct tid_rdma_request *req),
   1120	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1121);
   1122
   1123DEFINE_EVENT(/* event */
   1124	hfi1_tid_rdma_request_template, hfi1_tid_req_build_read_req,
   1125	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1126		 struct tid_rdma_request *req),
   1127	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1128);
   1129
   1130DEFINE_EVENT(/* event */
   1131	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_read_req,
   1132	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1133		 struct tid_rdma_request *req),
   1134	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1135);
   1136
   1137DEFINE_EVENT(/* event */
   1138	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_read_resp,
   1139	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1140		 struct tid_rdma_request *req),
   1141	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1142);
   1143
   1144DEFINE_EVENT(/* event */
   1145	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_err,
   1146	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1147		 struct tid_rdma_request *req),
   1148	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1149);
   1150
   1151DEFINE_EVENT(/* event */
   1152	hfi1_tid_rdma_request_template, hfi1_tid_req_restart_req,
   1153	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1154		 struct tid_rdma_request *req),
   1155	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1156);
   1157
   1158DEFINE_EVENT(/* event */
   1159	hfi1_tid_rdma_request_template, hfi1_tid_req_setup_tid_wqe,
   1160	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1161		 struct tid_rdma_request *req),
   1162	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1163);
   1164
   1165DEFINE_EVENT(/* event */
   1166	hfi1_tid_rdma_request_template, hfi1_tid_req_write_alloc_res,
   1167	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1168		 struct tid_rdma_request *req),
   1169	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1170);
   1171
   1172DEFINE_EVENT(/* event */
   1173	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_write_req,
   1174	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1175		 struct tid_rdma_request *req),
   1176	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1177);
   1178
   1179DEFINE_EVENT(/* event */
   1180	hfi1_tid_rdma_request_template, hfi1_tid_req_build_write_resp,
   1181	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1182		 struct tid_rdma_request *req),
   1183	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1184);
   1185
   1186DEFINE_EVENT(/* event */
   1187	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_write_resp,
   1188	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1189		 struct tid_rdma_request *req),
   1190	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1191);
   1192
   1193DEFINE_EVENT(/* event */
   1194	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_write_data,
   1195	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1196		 struct tid_rdma_request *req),
   1197	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1198);
   1199
   1200DEFINE_EVENT(/* event */
   1201	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_tid_ack,
   1202	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1203		 struct tid_rdma_request *req),
   1204	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1205);
   1206
   1207DEFINE_EVENT(/* event */
   1208	hfi1_tid_rdma_request_template, hfi1_tid_req_tid_retry_timeout,
   1209	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1210		 struct tid_rdma_request *req),
   1211	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1212);
   1213
   1214DEFINE_EVENT(/* event */
   1215	hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_resync,
   1216	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1217		 struct tid_rdma_request *req),
   1218	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1219);
   1220
   1221DEFINE_EVENT(/* event */
   1222	hfi1_tid_rdma_request_template, hfi1_tid_req_make_tid_pkt,
   1223	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1224		 struct tid_rdma_request *req),
   1225	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1226);
   1227
   1228DEFINE_EVENT(/* event */
   1229	hfi1_tid_rdma_request_template, hfi1_tid_req_make_tid_ack,
   1230	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1231		 struct tid_rdma_request *req),
   1232	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1233);
   1234
   1235DEFINE_EVENT(/* event */
   1236	hfi1_tid_rdma_request_template, hfi1_tid_req_handle_kdeth_eflags,
   1237	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1238		 struct tid_rdma_request *req),
   1239	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1240);
   1241
   1242DEFINE_EVENT(/* event */
   1243	hfi1_tid_rdma_request_template, hfi1_tid_req_read_kdeth_eflags,
   1244	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1245		 struct tid_rdma_request *req),
   1246	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1247);
   1248
   1249DEFINE_EVENT(/* event */
   1250	hfi1_tid_rdma_request_template, hfi1_tid_req_make_rc_ack_write,
   1251	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1252		 struct tid_rdma_request *req),
   1253	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1254);
   1255
   1256DEFINE_EVENT(/* event */
   1257	hfi1_tid_rdma_request_template, hfi1_tid_req_make_req_write,
   1258	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1259		 struct tid_rdma_request *req),
   1260	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1261);
   1262
   1263DEFINE_EVENT(/* event */
   1264	hfi1_tid_rdma_request_template, hfi1_tid_req_update_num_rd_atomic,
   1265	TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn,
   1266		 struct tid_rdma_request *req),
   1267	TP_ARGS(qp, newreq, opcode, psn, lpsn, req)
   1268);
   1269
   1270DECLARE_EVENT_CLASS(/* rc_rcv_err */
   1271	hfi1_rc_rcv_err_template,
   1272	TP_PROTO(struct rvt_qp *qp, u32 opcode, u32 psn, int diff),
   1273	TP_ARGS(qp, opcode, psn, diff),
   1274	TP_STRUCT__entry(/* entry */
   1275		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1276		__field(u32, qpn)
   1277		__field(u32, s_flags)
   1278		__field(u8, state)
   1279		__field(u8, s_acked_ack_queue)
   1280		__field(u8, s_tail_ack_queue)
   1281		__field(u8, r_head_ack_queue)
   1282		__field(u32, opcode)
   1283		__field(u32, psn)
   1284		__field(u32, r_psn)
   1285		__field(int, diff)
   1286	),
   1287	TP_fast_assign(/* assign */
   1288		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1289		__entry->qpn = qp->ibqp.qp_num;
   1290		__entry->s_flags = qp->s_flags;
   1291		__entry->state = qp->state;
   1292		__entry->s_acked_ack_queue = qp->s_acked_ack_queue;
   1293		__entry->s_tail_ack_queue = qp->s_tail_ack_queue;
   1294		__entry->r_head_ack_queue = qp->r_head_ack_queue;
   1295		__entry->opcode = opcode;
   1296		__entry->psn = psn;
   1297		__entry->r_psn = qp->r_psn;
   1298		__entry->diff = diff;
   1299	),
   1300	TP_printk(/* print */
   1301		RCV_ERR_PRN,
   1302		__get_str(dev),
   1303		__entry->qpn,
   1304		__entry->s_flags,
   1305		__entry->state,
   1306		__entry->s_acked_ack_queue,
   1307		__entry->s_tail_ack_queue,
   1308		__entry->r_head_ack_queue,
   1309		__entry->opcode,
   1310		__entry->psn,
   1311		__entry->r_psn,
   1312		__entry->diff
   1313	)
   1314);
   1315
   1316DEFINE_EVENT(/* event */
   1317	hfi1_rc_rcv_err_template, hfi1_tid_rdma_rcv_err,
   1318	TP_PROTO(struct rvt_qp *qp, u32 opcode, u32 psn, int diff),
   1319	TP_ARGS(qp, opcode, psn, diff)
   1320);
   1321
   1322DECLARE_EVENT_CLASS(/* sge  */
   1323	hfi1_sge_template,
   1324	TP_PROTO(struct rvt_qp *qp, int index, struct rvt_sge *sge),
   1325	TP_ARGS(qp, index, sge),
   1326	TP_STRUCT__entry(/* entry */
   1327		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1328		__field(u32, qpn)
   1329		__field(int, index)
   1330		__field(u64, vaddr)
   1331		__field(u32, sge_length)
   1332	),
   1333	TP_fast_assign(/* assign */
   1334		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1335		__entry->qpn = qp->ibqp.qp_num;
   1336		__entry->index = index;
   1337		__entry->vaddr = (u64)sge->vaddr;
   1338		__entry->sge_length = sge->sge_length;
   1339	),
   1340	TP_printk(/* print */
   1341		"[%s] qpn 0x%x sge %d: vaddr 0x%llx sge_length %u",
   1342		__get_str(dev),
   1343		__entry->qpn,
   1344		__entry->index,
   1345		__entry->vaddr,
   1346		__entry->sge_length
   1347	)
   1348);
   1349
   1350DEFINE_EVENT(/* event */
   1351	hfi1_sge_template, hfi1_sge_check_align,
   1352	TP_PROTO(struct rvt_qp *qp, int index, struct rvt_sge *sge),
   1353	TP_ARGS(qp, index, sge)
   1354);
   1355
   1356DECLARE_EVENT_CLASS(/* tid_write_sp */
   1357	hfi1_tid_write_rsp_template,
   1358	TP_PROTO(struct rvt_qp *qp),
   1359	TP_ARGS(qp),
   1360	TP_STRUCT__entry(/* entry */
   1361		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1362		__field(u32, qpn)
   1363		__field(u32, r_tid_head)
   1364		__field(u32, r_tid_tail)
   1365		__field(u32, r_tid_ack)
   1366		__field(u32, r_tid_alloc)
   1367		__field(u32, alloc_w_segs)
   1368		__field(u32, pending_tid_w_segs)
   1369		__field(bool, sync_pt)
   1370		__field(u32, ps_nak_psn)
   1371		__field(u8, ps_nak_state)
   1372		__field(u8, prnr_nak_state)
   1373		__field(u32, hw_flow_index)
   1374		__field(u32, generation)
   1375		__field(u32, fpsn)
   1376		__field(bool, resync)
   1377		__field(u32, r_next_psn_kdeth)
   1378	),
   1379	TP_fast_assign(/* assign */
   1380		struct hfi1_qp_priv *priv = qp->priv;
   1381
   1382		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1383		__entry->qpn = qp->ibqp.qp_num;
   1384		__entry->r_tid_head = priv->r_tid_head;
   1385		__entry->r_tid_tail = priv->r_tid_tail;
   1386		__entry->r_tid_ack = priv->r_tid_ack;
   1387		__entry->r_tid_alloc = priv->r_tid_alloc;
   1388		__entry->alloc_w_segs = priv->alloc_w_segs;
   1389		__entry->pending_tid_w_segs = priv->pending_tid_w_segs;
   1390		__entry->sync_pt = priv->sync_pt;
   1391		__entry->ps_nak_psn = priv->s_nak_psn;
   1392		__entry->ps_nak_state = priv->s_nak_state;
   1393		__entry->prnr_nak_state = priv->rnr_nak_state;
   1394		__entry->hw_flow_index = priv->flow_state.index;
   1395		__entry->generation = priv->flow_state.generation;
   1396		__entry->fpsn = priv->flow_state.psn;
   1397		__entry->resync = priv->resync;
   1398		__entry->r_next_psn_kdeth = priv->r_next_psn_kdeth;
   1399	),
   1400	TP_printk(/* print */
   1401		TID_WRITE_RSPDR_PRN,
   1402		__get_str(dev),
   1403		__entry->qpn,
   1404		__entry->r_tid_head,
   1405		__entry->r_tid_tail,
   1406		__entry->r_tid_ack,
   1407		__entry->r_tid_alloc,
   1408		__entry->alloc_w_segs,
   1409		__entry->pending_tid_w_segs,
   1410		__entry->sync_pt ? "yes" : "no",
   1411		__entry->ps_nak_psn,
   1412		__entry->ps_nak_state,
   1413		__entry->prnr_nak_state,
   1414		__entry->hw_flow_index,
   1415		__entry->generation,
   1416		__entry->fpsn,
   1417		__entry->resync ? "yes" : "no",
   1418		__entry->r_next_psn_kdeth
   1419	)
   1420);
   1421
   1422DEFINE_EVENT(/* event */
   1423	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_alloc_res,
   1424	TP_PROTO(struct rvt_qp *qp),
   1425	TP_ARGS(qp)
   1426);
   1427
   1428DEFINE_EVENT(/* event */
   1429	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_rcv_req,
   1430	TP_PROTO(struct rvt_qp *qp),
   1431	TP_ARGS(qp)
   1432);
   1433
   1434DEFINE_EVENT(/* event */
   1435	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_build_resp,
   1436	TP_PROTO(struct rvt_qp *qp),
   1437	TP_ARGS(qp)
   1438);
   1439
   1440DEFINE_EVENT(/* event */
   1441	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_rcv_data,
   1442	TP_PROTO(struct rvt_qp *qp),
   1443	TP_ARGS(qp)
   1444);
   1445
   1446DEFINE_EVENT(/* event */
   1447	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_rcv_resync,
   1448	TP_PROTO(struct rvt_qp *qp),
   1449	TP_ARGS(qp)
   1450);
   1451
   1452DEFINE_EVENT(/* event */
   1453	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_make_tid_ack,
   1454	TP_PROTO(struct rvt_qp *qp),
   1455	TP_ARGS(qp)
   1456);
   1457
   1458DEFINE_EVENT(/* event */
   1459	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_handle_kdeth_eflags,
   1460	TP_PROTO(struct rvt_qp *qp),
   1461	TP_ARGS(qp)
   1462);
   1463
   1464DEFINE_EVENT(/* event */
   1465	hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_make_rc_ack,
   1466	TP_PROTO(struct rvt_qp *qp),
   1467	TP_ARGS(qp)
   1468);
   1469
   1470DECLARE_EVENT_CLASS(/* tid_write_sender */
   1471	hfi1_tid_write_sender_template,
   1472	TP_PROTO(struct rvt_qp *qp, char newreq),
   1473	TP_ARGS(qp, newreq),
   1474	TP_STRUCT__entry(/* entry */
   1475		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1476		__field(u32, qpn)
   1477		__field(char, newreq)
   1478		__field(u32, s_tid_cur)
   1479		__field(u32, s_tid_tail)
   1480		__field(u32, s_tid_head)
   1481		__field(u32, pending_tid_w_resp)
   1482		__field(u32, n_requests)
   1483		__field(u32, n_tid_requests)
   1484		__field(u32, s_flags)
   1485		__field(u32, ps_flags)
   1486		__field(unsigned long, iow_flags)
   1487		__field(u8, s_state)
   1488		__field(u8, s_retry)
   1489	),
   1490	TP_fast_assign(/* assign */
   1491		struct hfi1_qp_priv *priv = qp->priv;
   1492
   1493		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1494		__entry->qpn = qp->ibqp.qp_num;
   1495		__entry->newreq = newreq;
   1496		__entry->s_tid_cur = priv->s_tid_cur;
   1497		__entry->s_tid_tail = priv->s_tid_tail;
   1498		__entry->s_tid_head = priv->s_tid_head;
   1499		__entry->pending_tid_w_resp = priv->pending_tid_w_resp;
   1500		__entry->n_requests = atomic_read(&priv->n_requests);
   1501		__entry->n_tid_requests = atomic_read(&priv->n_tid_requests);
   1502		__entry->s_flags = qp->s_flags;
   1503		__entry->ps_flags = priv->s_flags;
   1504		__entry->iow_flags = priv->s_iowait.flags;
   1505		__entry->s_state = priv->s_state;
   1506		__entry->s_retry = priv->s_retry;
   1507	),
   1508	TP_printk(/* print */
   1509		TID_WRITE_SENDER_PRN,
   1510		__get_str(dev),
   1511		__entry->qpn,
   1512		__entry->newreq,
   1513		__entry->s_tid_cur,
   1514		__entry->s_tid_tail,
   1515		__entry->s_tid_head,
   1516		__entry->pending_tid_w_resp,
   1517		__entry->n_requests,
   1518		__entry->n_tid_requests,
   1519		__entry->s_flags,
   1520		__entry->ps_flags,
   1521		__entry->iow_flags,
   1522		__entry->s_state,
   1523		__entry->s_retry
   1524	)
   1525);
   1526
   1527DEFINE_EVENT(/* event */
   1528	hfi1_tid_write_sender_template, hfi1_tid_write_sender_rcv_resp,
   1529	TP_PROTO(struct rvt_qp *qp, char newreq),
   1530	TP_ARGS(qp, newreq)
   1531);
   1532
   1533DEFINE_EVENT(/* event */
   1534	hfi1_tid_write_sender_template, hfi1_tid_write_sender_rcv_tid_ack,
   1535	TP_PROTO(struct rvt_qp *qp, char newreq),
   1536	TP_ARGS(qp, newreq)
   1537);
   1538
   1539DEFINE_EVENT(/* event */
   1540	hfi1_tid_write_sender_template, hfi1_tid_write_sender_retry_timeout,
   1541	TP_PROTO(struct rvt_qp *qp, char newreq),
   1542	TP_ARGS(qp, newreq)
   1543);
   1544
   1545DEFINE_EVENT(/* event */
   1546	hfi1_tid_write_sender_template, hfi1_tid_write_sender_make_tid_pkt,
   1547	TP_PROTO(struct rvt_qp *qp, char newreq),
   1548	TP_ARGS(qp, newreq)
   1549);
   1550
   1551DEFINE_EVENT(/* event */
   1552	hfi1_tid_write_sender_template, hfi1_tid_write_sender_make_req,
   1553	TP_PROTO(struct rvt_qp *qp, char newreq),
   1554	TP_ARGS(qp, newreq)
   1555);
   1556
   1557DEFINE_EVENT(/* event */
   1558	hfi1_tid_write_sender_template, hfi1_tid_write_sender_restart_rc,
   1559	TP_PROTO(struct rvt_qp *qp, char newreq),
   1560	TP_ARGS(qp, newreq)
   1561);
   1562
   1563DECLARE_EVENT_CLASS(/* tid_ack */
   1564	hfi1_tid_ack_template,
   1565	TP_PROTO(struct rvt_qp *qp, u32 aeth, u32 psn,
   1566		 u32 req_psn, u32 resync_psn),
   1567	TP_ARGS(qp, aeth, psn, req_psn, resync_psn),
   1568	TP_STRUCT__entry(/* entry */
   1569		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1570		__field(u32, qpn)
   1571		__field(u32, aeth)
   1572		__field(u32, psn)
   1573		__field(u32, req_psn)
   1574		__field(u32, resync_psn)
   1575	),
   1576	TP_fast_assign(/* assign */
   1577		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1578		__entry->qpn = qp->ibqp.qp_num;
   1579		__entry->aeth = aeth;
   1580		__entry->psn = psn;
   1581		__entry->req_psn = req_psn;
   1582		__entry->resync_psn = resync_psn;
   1583		),
   1584	TP_printk(/* print */
   1585		"[%s] qpn 0x%x aeth 0x%x psn 0x%x req_psn 0x%x resync_psn 0x%x",
   1586		__get_str(dev),
   1587		__entry->qpn,
   1588		__entry->aeth,
   1589		__entry->psn,
   1590		__entry->req_psn,
   1591		__entry->resync_psn
   1592	)
   1593);
   1594
   1595DEFINE_EVENT(/* rcv_tid_ack */
   1596	hfi1_tid_ack_template, hfi1_rcv_tid_ack,
   1597	TP_PROTO(struct rvt_qp *qp, u32 aeth, u32 psn,
   1598		 u32 req_psn, u32 resync_psn),
   1599	TP_ARGS(qp, aeth, psn, req_psn, resync_psn)
   1600);
   1601
   1602DECLARE_EVENT_CLASS(/* kdeth_eflags_error */
   1603	hfi1_kdeth_eflags_error_template,
   1604	TP_PROTO(struct rvt_qp *qp, u8 rcv_type, u8 rte, u32 psn),
   1605	TP_ARGS(qp, rcv_type, rte, psn),
   1606	TP_STRUCT__entry(/* entry */
   1607		DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
   1608		__field(u32, qpn)
   1609		__field(u8, rcv_type)
   1610		__field(u8, rte)
   1611		__field(u32, psn)
   1612	),
   1613	TP_fast_assign(/* assign */
   1614		DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
   1615		__entry->qpn = qp->ibqp.qp_num;
   1616		__entry->rcv_type = rcv_type;
   1617		__entry->rte = rte;
   1618		__entry->psn = psn;
   1619	),
   1620	TP_printk(/* print */
   1621		KDETH_EFLAGS_ERR_PRN,
   1622		__get_str(dev),
   1623		__entry->qpn,
   1624		__entry->rcv_type,
   1625		__entry->rte,
   1626		__entry->psn
   1627	)
   1628);
   1629
   1630DEFINE_EVENT(/* event */
   1631	hfi1_kdeth_eflags_error_template, hfi1_eflags_err_write,
   1632	TP_PROTO(struct rvt_qp *qp, u8 rcv_type, u8 rte, u32 psn),
   1633	TP_ARGS(qp, rcv_type, rte, psn)
   1634);
   1635
   1636#endif /* __HFI1_TRACE_TID_H */
   1637
   1638#undef TRACE_INCLUDE_PATH
   1639#undef TRACE_INCLUDE_FILE
   1640#define TRACE_INCLUDE_PATH .
   1641#define TRACE_INCLUDE_FILE trace_tid
   1642#include <trace/define_trace.h>