162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright(c) 2018 Intel Corporation. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci#if !defined(__HFI1_TRACE_TID_H) || defined(TRACE_HEADER_MULTI_READ) 762306a36Sopenharmony_ci#define __HFI1_TRACE_TID_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <linux/tracepoint.h> 1062306a36Sopenharmony_ci#include <linux/trace_seq.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include "hfi.h" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#define tidtype_name(type) { PT_##type, #type } 1562306a36Sopenharmony_ci#define show_tidtype(type) \ 1662306a36Sopenharmony_ci__print_symbolic(type, \ 1762306a36Sopenharmony_ci tidtype_name(EXPECTED), \ 1862306a36Sopenharmony_ci tidtype_name(EAGER), \ 1962306a36Sopenharmony_ci tidtype_name(INVALID)) \ 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#undef TRACE_SYSTEM 2262306a36Sopenharmony_ci#define TRACE_SYSTEM hfi1_tid 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciu8 hfi1_trace_get_tid_ctrl(u32 ent); 2562306a36Sopenharmony_ciu16 hfi1_trace_get_tid_len(u32 ent); 2662306a36Sopenharmony_ciu16 hfi1_trace_get_tid_idx(u32 ent); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#define OPFN_PARAM_PRN "[%s] qpn 0x%x %s OPFN: qp 0x%x, max read %u, " \ 2962306a36Sopenharmony_ci "max write %u, max length %u, jkey 0x%x timeout %u " \ 3062306a36Sopenharmony_ci "urg %u" 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#define TID_FLOW_PRN "[%s] qpn 0x%x flow %d: idx %d resp_ib_psn 0x%x " \ 3362306a36Sopenharmony_ci "generation 0x%x fpsn 0x%x-%x r_next_psn 0x%x " \ 3462306a36Sopenharmony_ci "ib_psn 0x%x-%x npagesets %u tnode_cnt %u " \ 3562306a36Sopenharmony_ci "tidcnt %u tid_idx %u tid_offset %u length %u sent %u" 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci#define TID_NODE_PRN "[%s] qpn 0x%x %s idx %u grp base 0x%x map 0x%x " \ 3862306a36Sopenharmony_ci "used %u cnt %u" 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define RSP_INFO_PRN "[%s] qpn 0x%x state 0x%x s_state 0x%x psn 0x%x " \ 4162306a36Sopenharmony_ci "r_psn 0x%x r_state 0x%x r_flags 0x%x " \ 4262306a36Sopenharmony_ci "r_head_ack_queue %u s_tail_ack_queue %u " \ 4362306a36Sopenharmony_ci "s_acked_ack_queue %u s_ack_state 0x%x " \ 4462306a36Sopenharmony_ci "s_nak_state 0x%x s_flags 0x%x ps_flags 0x%x " \ 4562306a36Sopenharmony_ci "iow_flags 0x%lx" 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci#define SENDER_INFO_PRN "[%s] qpn 0x%x state 0x%x s_cur %u s_tail %u " \ 4862306a36Sopenharmony_ci "s_head %u s_acked %u s_last %u s_psn 0x%x " \ 4962306a36Sopenharmony_ci "s_last_psn 0x%x s_flags 0x%x ps_flags 0x%x " \ 5062306a36Sopenharmony_ci "iow_flags 0x%lx s_state 0x%x s_num_rd %u s_retry %u" 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci#define TID_READ_SENDER_PRN "[%s] qpn 0x%x newreq %u tid_r_reqs %u " \ 5362306a36Sopenharmony_ci "tid_r_comp %u pending_tid_r_segs %u " \ 5462306a36Sopenharmony_ci "s_flags 0x%x ps_flags 0x%x iow_flags 0x%lx " \ 5562306a36Sopenharmony_ci "s_state 0x%x hw_flow_index %u generation 0x%x " \ 5662306a36Sopenharmony_ci "fpsn 0x%x" 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci#define TID_REQ_PRN "[%s] qpn 0x%x newreq %u opcode 0x%x psn 0x%x lpsn 0x%x " \ 5962306a36Sopenharmony_ci "cur_seg %u comp_seg %u ack_seg %u alloc_seg %u " \ 6062306a36Sopenharmony_ci "total_segs %u setup_head %u clear_tail %u flow_idx %u " \ 6162306a36Sopenharmony_ci "acked_tail %u state %u r_ack_psn 0x%x r_flow_psn 0x%x " \ 6262306a36Sopenharmony_ci "r_last_ackd 0x%x s_next_psn 0x%x" 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci#define RCV_ERR_PRN "[%s] qpn 0x%x s_flags 0x%x state 0x%x " \ 6562306a36Sopenharmony_ci "s_acked_ack_queue %u s_tail_ack_queue %u " \ 6662306a36Sopenharmony_ci "r_head_ack_queue %u opcode 0x%x psn 0x%x r_psn 0x%x " \ 6762306a36Sopenharmony_ci " diff %d" 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci#define TID_WRITE_RSPDR_PRN "[%s] qpn 0x%x r_tid_head %u r_tid_tail %u " \ 7062306a36Sopenharmony_ci "r_tid_ack %u r_tid_alloc %u alloc_w_segs %u " \ 7162306a36Sopenharmony_ci "pending_tid_w_segs %u sync_pt %s " \ 7262306a36Sopenharmony_ci "ps_nak_psn 0x%x ps_nak_state 0x%x " \ 7362306a36Sopenharmony_ci "prnr_nak_state 0x%x hw_flow_index %u generation "\ 7462306a36Sopenharmony_ci "0x%x fpsn 0x%x resync %s" \ 7562306a36Sopenharmony_ci "r_next_psn_kdeth 0x%x" 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci#define TID_WRITE_SENDER_PRN "[%s] qpn 0x%x newreq %u s_tid_cur %u " \ 7862306a36Sopenharmony_ci "s_tid_tail %u s_tid_head %u " \ 7962306a36Sopenharmony_ci "pending_tid_w_resp %u n_requests %u " \ 8062306a36Sopenharmony_ci "n_tid_requests %u s_flags 0x%x ps_flags 0x%x "\ 8162306a36Sopenharmony_ci "iow_flags 0x%lx s_state 0x%x s_retry %u" 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci#define KDETH_EFLAGS_ERR_PRN "[%s] qpn 0x%x TID ERR: RcvType 0x%x " \ 8462306a36Sopenharmony_ci "RcvTypeError 0x%x PSN 0x%x" 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* class */ 8762306a36Sopenharmony_ci hfi1_exp_tid_reg_unreg, 8862306a36Sopenharmony_ci TP_PROTO(unsigned int ctxt, u16 subctxt, u32 rarr, u32 npages, 8962306a36Sopenharmony_ci unsigned long va, unsigned long pa, dma_addr_t dma), 9062306a36Sopenharmony_ci TP_ARGS(ctxt, subctxt, rarr, npages, va, pa, dma), 9162306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 9262306a36Sopenharmony_ci __field(unsigned int, ctxt) 9362306a36Sopenharmony_ci __field(u16, subctxt) 9462306a36Sopenharmony_ci __field(u32, rarr) 9562306a36Sopenharmony_ci __field(u32, npages) 9662306a36Sopenharmony_ci __field(unsigned long, va) 9762306a36Sopenharmony_ci __field(unsigned long, pa) 9862306a36Sopenharmony_ci __field(dma_addr_t, dma) 9962306a36Sopenharmony_ci ), 10062306a36Sopenharmony_ci TP_fast_assign(/* assign */ 10162306a36Sopenharmony_ci __entry->ctxt = ctxt; 10262306a36Sopenharmony_ci __entry->subctxt = subctxt; 10362306a36Sopenharmony_ci __entry->rarr = rarr; 10462306a36Sopenharmony_ci __entry->npages = npages; 10562306a36Sopenharmony_ci __entry->va = va; 10662306a36Sopenharmony_ci __entry->pa = pa; 10762306a36Sopenharmony_ci __entry->dma = dma; 10862306a36Sopenharmony_ci ), 10962306a36Sopenharmony_ci TP_printk("[%u:%u] entry:%u, %u pages @ 0x%lx, va:0x%lx dma:0x%llx", 11062306a36Sopenharmony_ci __entry->ctxt, 11162306a36Sopenharmony_ci __entry->subctxt, 11262306a36Sopenharmony_ci __entry->rarr, 11362306a36Sopenharmony_ci __entry->npages, 11462306a36Sopenharmony_ci __entry->pa, 11562306a36Sopenharmony_ci __entry->va, 11662306a36Sopenharmony_ci __entry->dma 11762306a36Sopenharmony_ci ) 11862306a36Sopenharmony_ci); 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ciDEFINE_EVENT(/* exp_tid_unreg */ 12162306a36Sopenharmony_ci hfi1_exp_tid_reg_unreg, hfi1_exp_tid_unreg, 12262306a36Sopenharmony_ci TP_PROTO(unsigned int ctxt, u16 subctxt, u32 rarr, u32 npages, 12362306a36Sopenharmony_ci unsigned long va, unsigned long pa, dma_addr_t dma), 12462306a36Sopenharmony_ci TP_ARGS(ctxt, subctxt, rarr, npages, va, pa, dma) 12562306a36Sopenharmony_ci); 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciDEFINE_EVENT(/* exp_tid_reg */ 12862306a36Sopenharmony_ci hfi1_exp_tid_reg_unreg, hfi1_exp_tid_reg, 12962306a36Sopenharmony_ci TP_PROTO(unsigned int ctxt, u16 subctxt, u32 rarr, u32 npages, 13062306a36Sopenharmony_ci unsigned long va, unsigned long pa, dma_addr_t dma), 13162306a36Sopenharmony_ci TP_ARGS(ctxt, subctxt, rarr, npages, va, pa, dma) 13262306a36Sopenharmony_ci); 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciTRACE_EVENT(/* put_tid */ 13562306a36Sopenharmony_ci hfi1_put_tid, 13662306a36Sopenharmony_ci TP_PROTO(struct hfi1_devdata *dd, 13762306a36Sopenharmony_ci u32 index, u32 type, unsigned long pa, u16 order), 13862306a36Sopenharmony_ci TP_ARGS(dd, index, type, pa, order), 13962306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 14062306a36Sopenharmony_ci DD_DEV_ENTRY(dd) 14162306a36Sopenharmony_ci __field(unsigned long, pa) 14262306a36Sopenharmony_ci __field(u32, index) 14362306a36Sopenharmony_ci __field(u32, type) 14462306a36Sopenharmony_ci __field(u16, order) 14562306a36Sopenharmony_ci ), 14662306a36Sopenharmony_ci TP_fast_assign(/* assign */ 14762306a36Sopenharmony_ci DD_DEV_ASSIGN(dd); 14862306a36Sopenharmony_ci __entry->pa = pa; 14962306a36Sopenharmony_ci __entry->index = index; 15062306a36Sopenharmony_ci __entry->type = type; 15162306a36Sopenharmony_ci __entry->order = order; 15262306a36Sopenharmony_ci ), 15362306a36Sopenharmony_ci TP_printk("[%s] type %s pa %lx index %u order %u", 15462306a36Sopenharmony_ci __get_str(dev), 15562306a36Sopenharmony_ci show_tidtype(__entry->type), 15662306a36Sopenharmony_ci __entry->pa, 15762306a36Sopenharmony_ci __entry->index, 15862306a36Sopenharmony_ci __entry->order 15962306a36Sopenharmony_ci ) 16062306a36Sopenharmony_ci); 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciTRACE_EVENT(/* exp_tid_inval */ 16362306a36Sopenharmony_ci hfi1_exp_tid_inval, 16462306a36Sopenharmony_ci TP_PROTO(unsigned int ctxt, u16 subctxt, unsigned long va, u32 rarr, 16562306a36Sopenharmony_ci u32 npages, dma_addr_t dma), 16662306a36Sopenharmony_ci TP_ARGS(ctxt, subctxt, va, rarr, npages, dma), 16762306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 16862306a36Sopenharmony_ci __field(unsigned int, ctxt) 16962306a36Sopenharmony_ci __field(u16, subctxt) 17062306a36Sopenharmony_ci __field(unsigned long, va) 17162306a36Sopenharmony_ci __field(u32, rarr) 17262306a36Sopenharmony_ci __field(u32, npages) 17362306a36Sopenharmony_ci __field(dma_addr_t, dma) 17462306a36Sopenharmony_ci ), 17562306a36Sopenharmony_ci TP_fast_assign(/* assign */ 17662306a36Sopenharmony_ci __entry->ctxt = ctxt; 17762306a36Sopenharmony_ci __entry->subctxt = subctxt; 17862306a36Sopenharmony_ci __entry->va = va; 17962306a36Sopenharmony_ci __entry->rarr = rarr; 18062306a36Sopenharmony_ci __entry->npages = npages; 18162306a36Sopenharmony_ci __entry->dma = dma; 18262306a36Sopenharmony_ci ), 18362306a36Sopenharmony_ci TP_printk("[%u:%u] entry:%u, %u pages @ 0x%lx dma: 0x%llx", 18462306a36Sopenharmony_ci __entry->ctxt, 18562306a36Sopenharmony_ci __entry->subctxt, 18662306a36Sopenharmony_ci __entry->rarr, 18762306a36Sopenharmony_ci __entry->npages, 18862306a36Sopenharmony_ci __entry->va, 18962306a36Sopenharmony_ci __entry->dma 19062306a36Sopenharmony_ci ) 19162306a36Sopenharmony_ci); 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* opfn_state */ 19462306a36Sopenharmony_ci hfi1_opfn_state_template, 19562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 19662306a36Sopenharmony_ci TP_ARGS(qp), 19762306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 19862306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 19962306a36Sopenharmony_ci __field(u32, qpn) 20062306a36Sopenharmony_ci __field(u16, requested) 20162306a36Sopenharmony_ci __field(u16, completed) 20262306a36Sopenharmony_ci __field(u8, curr) 20362306a36Sopenharmony_ci ), 20462306a36Sopenharmony_ci TP_fast_assign(/* assign */ 20562306a36Sopenharmony_ci struct hfi1_qp_priv *priv = qp->priv; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 20862306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 20962306a36Sopenharmony_ci __entry->requested = priv->opfn.requested; 21062306a36Sopenharmony_ci __entry->completed = priv->opfn.completed; 21162306a36Sopenharmony_ci __entry->curr = priv->opfn.curr; 21262306a36Sopenharmony_ci ), 21362306a36Sopenharmony_ci TP_printk(/* print */ 21462306a36Sopenharmony_ci "[%s] qpn 0x%x requested 0x%x completed 0x%x curr 0x%x", 21562306a36Sopenharmony_ci __get_str(dev), 21662306a36Sopenharmony_ci __entry->qpn, 21762306a36Sopenharmony_ci __entry->requested, 21862306a36Sopenharmony_ci __entry->completed, 21962306a36Sopenharmony_ci __entry->curr 22062306a36Sopenharmony_ci ) 22162306a36Sopenharmony_ci); 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 22462306a36Sopenharmony_ci hfi1_opfn_state_template, hfi1_opfn_state_conn_request, 22562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 22662306a36Sopenharmony_ci TP_ARGS(qp) 22762306a36Sopenharmony_ci); 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 23062306a36Sopenharmony_ci hfi1_opfn_state_template, hfi1_opfn_state_sched_conn_request, 23162306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 23262306a36Sopenharmony_ci TP_ARGS(qp) 23362306a36Sopenharmony_ci); 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 23662306a36Sopenharmony_ci hfi1_opfn_state_template, hfi1_opfn_state_conn_response, 23762306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 23862306a36Sopenharmony_ci TP_ARGS(qp) 23962306a36Sopenharmony_ci); 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 24262306a36Sopenharmony_ci hfi1_opfn_state_template, hfi1_opfn_state_conn_reply, 24362306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 24462306a36Sopenharmony_ci TP_ARGS(qp) 24562306a36Sopenharmony_ci); 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 24862306a36Sopenharmony_ci hfi1_opfn_state_template, hfi1_opfn_state_conn_error, 24962306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 25062306a36Sopenharmony_ci TP_ARGS(qp) 25162306a36Sopenharmony_ci); 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* opfn_data */ 25462306a36Sopenharmony_ci hfi1_opfn_data_template, 25562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data), 25662306a36Sopenharmony_ci TP_ARGS(qp, capcode, data), 25762306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 25862306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 25962306a36Sopenharmony_ci __field(u32, qpn) 26062306a36Sopenharmony_ci __field(u32, state) 26162306a36Sopenharmony_ci __field(u8, capcode) 26262306a36Sopenharmony_ci __field(u64, data) 26362306a36Sopenharmony_ci ), 26462306a36Sopenharmony_ci TP_fast_assign(/* assign */ 26562306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 26662306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 26762306a36Sopenharmony_ci __entry->state = qp->state; 26862306a36Sopenharmony_ci __entry->capcode = capcode; 26962306a36Sopenharmony_ci __entry->data = data; 27062306a36Sopenharmony_ci ), 27162306a36Sopenharmony_ci TP_printk(/* printk */ 27262306a36Sopenharmony_ci "[%s] qpn 0x%x (state 0x%x) Capcode %u data 0x%llx", 27362306a36Sopenharmony_ci __get_str(dev), 27462306a36Sopenharmony_ci __entry->qpn, 27562306a36Sopenharmony_ci __entry->state, 27662306a36Sopenharmony_ci __entry->capcode, 27762306a36Sopenharmony_ci __entry->data 27862306a36Sopenharmony_ci ) 27962306a36Sopenharmony_ci); 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 28262306a36Sopenharmony_ci hfi1_opfn_data_template, hfi1_opfn_data_conn_request, 28362306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data), 28462306a36Sopenharmony_ci TP_ARGS(qp, capcode, data) 28562306a36Sopenharmony_ci); 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 28862306a36Sopenharmony_ci hfi1_opfn_data_template, hfi1_opfn_data_conn_response, 28962306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data), 29062306a36Sopenharmony_ci TP_ARGS(qp, capcode, data) 29162306a36Sopenharmony_ci); 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 29462306a36Sopenharmony_ci hfi1_opfn_data_template, hfi1_opfn_data_conn_reply, 29562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u8 capcode, u64 data), 29662306a36Sopenharmony_ci TP_ARGS(qp, capcode, data) 29762306a36Sopenharmony_ci); 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* opfn_param */ 30062306a36Sopenharmony_ci hfi1_opfn_param_template, 30162306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char remote, 30262306a36Sopenharmony_ci struct tid_rdma_params *param), 30362306a36Sopenharmony_ci TP_ARGS(qp, remote, param), 30462306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 30562306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 30662306a36Sopenharmony_ci __field(u32, qpn) 30762306a36Sopenharmony_ci __field(char, remote) 30862306a36Sopenharmony_ci __field(u32, param_qp) 30962306a36Sopenharmony_ci __field(u32, max_len) 31062306a36Sopenharmony_ci __field(u16, jkey) 31162306a36Sopenharmony_ci __field(u8, max_read) 31262306a36Sopenharmony_ci __field(u8, max_write) 31362306a36Sopenharmony_ci __field(u8, timeout) 31462306a36Sopenharmony_ci __field(u8, urg) 31562306a36Sopenharmony_ci ), 31662306a36Sopenharmony_ci TP_fast_assign(/* assign */ 31762306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 31862306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 31962306a36Sopenharmony_ci __entry->remote = remote; 32062306a36Sopenharmony_ci __entry->param_qp = param->qp; 32162306a36Sopenharmony_ci __entry->max_len = param->max_len; 32262306a36Sopenharmony_ci __entry->jkey = param->jkey; 32362306a36Sopenharmony_ci __entry->max_read = param->max_read; 32462306a36Sopenharmony_ci __entry->max_write = param->max_write; 32562306a36Sopenharmony_ci __entry->timeout = param->timeout; 32662306a36Sopenharmony_ci __entry->urg = param->urg; 32762306a36Sopenharmony_ci ), 32862306a36Sopenharmony_ci TP_printk(/* print */ 32962306a36Sopenharmony_ci OPFN_PARAM_PRN, 33062306a36Sopenharmony_ci __get_str(dev), 33162306a36Sopenharmony_ci __entry->qpn, 33262306a36Sopenharmony_ci __entry->remote ? "remote" : "local", 33362306a36Sopenharmony_ci __entry->param_qp, 33462306a36Sopenharmony_ci __entry->max_read, 33562306a36Sopenharmony_ci __entry->max_write, 33662306a36Sopenharmony_ci __entry->max_len, 33762306a36Sopenharmony_ci __entry->jkey, 33862306a36Sopenharmony_ci __entry->timeout, 33962306a36Sopenharmony_ci __entry->urg 34062306a36Sopenharmony_ci ) 34162306a36Sopenharmony_ci); 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 34462306a36Sopenharmony_ci hfi1_opfn_param_template, hfi1_opfn_param, 34562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char remote, 34662306a36Sopenharmony_ci struct tid_rdma_params *param), 34762306a36Sopenharmony_ci TP_ARGS(qp, remote, param) 34862306a36Sopenharmony_ci); 34962306a36Sopenharmony_ci 35062306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* msg */ 35162306a36Sopenharmony_ci hfi1_msg_template, 35262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 35362306a36Sopenharmony_ci TP_ARGS(qp, msg, more), 35462306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 35562306a36Sopenharmony_ci __field(u32, qpn) 35662306a36Sopenharmony_ci __string(msg, msg) 35762306a36Sopenharmony_ci __field(u64, more) 35862306a36Sopenharmony_ci ), 35962306a36Sopenharmony_ci TP_fast_assign(/* assign */ 36062306a36Sopenharmony_ci __entry->qpn = qp ? qp->ibqp.qp_num : 0; 36162306a36Sopenharmony_ci __assign_str(msg, msg); 36262306a36Sopenharmony_ci __entry->more = more; 36362306a36Sopenharmony_ci ), 36462306a36Sopenharmony_ci TP_printk(/* print */ 36562306a36Sopenharmony_ci "qpn 0x%x %s 0x%llx", 36662306a36Sopenharmony_ci __entry->qpn, 36762306a36Sopenharmony_ci __get_str(msg), 36862306a36Sopenharmony_ci __entry->more 36962306a36Sopenharmony_ci ) 37062306a36Sopenharmony_ci); 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 37362306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_opfn_conn_request, 37462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 37562306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 37662306a36Sopenharmony_ci); 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 37962306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_opfn_conn_error, 38062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 38162306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 38262306a36Sopenharmony_ci); 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 38562306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_alloc_tids, 38662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 38762306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 38862306a36Sopenharmony_ci); 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 39162306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_tid_restart_req, 39262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 39362306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 39462306a36Sopenharmony_ci); 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 39762306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_handle_kdeth_eflags, 39862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 39962306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 40062306a36Sopenharmony_ci); 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 40362306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_tid_timeout, 40462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 40562306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 40662306a36Sopenharmony_ci); 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 40962306a36Sopenharmony_ci hfi1_msg_template, hfi1_msg_tid_retry_timeout, 41062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u64 more), 41162306a36Sopenharmony_ci TP_ARGS(qp, msg, more) 41262306a36Sopenharmony_ci); 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_flow_page */ 41562306a36Sopenharmony_ci hfi1_tid_flow_page_template, 41662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, struct tid_rdma_flow *flow, u32 index, 41762306a36Sopenharmony_ci char mtu8k, char v1, void *vaddr), 41862306a36Sopenharmony_ci TP_ARGS(qp, flow, index, mtu8k, v1, vaddr), 41962306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 42062306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 42162306a36Sopenharmony_ci __field(u32, qpn) 42262306a36Sopenharmony_ci __field(char, mtu8k) 42362306a36Sopenharmony_ci __field(char, v1) 42462306a36Sopenharmony_ci __field(u32, index) 42562306a36Sopenharmony_ci __field(u64, page) 42662306a36Sopenharmony_ci __field(u64, vaddr) 42762306a36Sopenharmony_ci ), 42862306a36Sopenharmony_ci TP_fast_assign(/* assign */ 42962306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 43062306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 43162306a36Sopenharmony_ci __entry->mtu8k = mtu8k; 43262306a36Sopenharmony_ci __entry->v1 = v1; 43362306a36Sopenharmony_ci __entry->index = index; 43462306a36Sopenharmony_ci __entry->page = vaddr ? (u64)virt_to_page(vaddr) : 0ULL; 43562306a36Sopenharmony_ci __entry->vaddr = (u64)vaddr; 43662306a36Sopenharmony_ci ), 43762306a36Sopenharmony_ci TP_printk(/* print */ 43862306a36Sopenharmony_ci "[%s] qpn 0x%x page[%u]: page 0x%llx %s 0x%llx", 43962306a36Sopenharmony_ci __get_str(dev), 44062306a36Sopenharmony_ci __entry->qpn, 44162306a36Sopenharmony_ci __entry->index, 44262306a36Sopenharmony_ci __entry->page, 44362306a36Sopenharmony_ci __entry->mtu8k ? (__entry->v1 ? "v1" : "v0") : "vaddr", 44462306a36Sopenharmony_ci __entry->vaddr 44562306a36Sopenharmony_ci ) 44662306a36Sopenharmony_ci); 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 44962306a36Sopenharmony_ci hfi1_tid_flow_page_template, hfi1_tid_flow_page, 45062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, struct tid_rdma_flow *flow, u32 index, 45162306a36Sopenharmony_ci char mtu8k, char v1, void *vaddr), 45262306a36Sopenharmony_ci TP_ARGS(qp, flow, index, mtu8k, v1, vaddr) 45362306a36Sopenharmony_ci); 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_pageset */ 45662306a36Sopenharmony_ci hfi1_tid_pageset_template, 45762306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 index, u16 idx, u16 count), 45862306a36Sopenharmony_ci TP_ARGS(qp, index, idx, count), 45962306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 46062306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 46162306a36Sopenharmony_ci __field(u32, qpn) 46262306a36Sopenharmony_ci __field(u32, index) 46362306a36Sopenharmony_ci __field(u16, idx) 46462306a36Sopenharmony_ci __field(u16, count) 46562306a36Sopenharmony_ci ), 46662306a36Sopenharmony_ci TP_fast_assign(/* assign */ 46762306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 46862306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 46962306a36Sopenharmony_ci __entry->index = index; 47062306a36Sopenharmony_ci __entry->idx = idx; 47162306a36Sopenharmony_ci __entry->count = count; 47262306a36Sopenharmony_ci ), 47362306a36Sopenharmony_ci TP_printk(/* print */ 47462306a36Sopenharmony_ci "[%s] qpn 0x%x list[%u]: idx %u count %u", 47562306a36Sopenharmony_ci __get_str(dev), 47662306a36Sopenharmony_ci __entry->qpn, 47762306a36Sopenharmony_ci __entry->index, 47862306a36Sopenharmony_ci __entry->idx, 47962306a36Sopenharmony_ci __entry->count 48062306a36Sopenharmony_ci ) 48162306a36Sopenharmony_ci); 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 48462306a36Sopenharmony_ci hfi1_tid_pageset_template, hfi1_tid_pageset, 48562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 index, u16 idx, u16 count), 48662306a36Sopenharmony_ci TP_ARGS(qp, index, idx, count) 48762306a36Sopenharmony_ci); 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_fow */ 49062306a36Sopenharmony_ci hfi1_tid_flow_template, 49162306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 49262306a36Sopenharmony_ci TP_ARGS(qp, index, flow), 49362306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 49462306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 49562306a36Sopenharmony_ci __field(u32, qpn) 49662306a36Sopenharmony_ci __field(int, index) 49762306a36Sopenharmony_ci __field(int, idx) 49862306a36Sopenharmony_ci __field(u32, resp_ib_psn) 49962306a36Sopenharmony_ci __field(u32, generation) 50062306a36Sopenharmony_ci __field(u32, fspsn) 50162306a36Sopenharmony_ci __field(u32, flpsn) 50262306a36Sopenharmony_ci __field(u32, r_next_psn) 50362306a36Sopenharmony_ci __field(u32, ib_spsn) 50462306a36Sopenharmony_ci __field(u32, ib_lpsn) 50562306a36Sopenharmony_ci __field(u32, npagesets) 50662306a36Sopenharmony_ci __field(u32, tnode_cnt) 50762306a36Sopenharmony_ci __field(u32, tidcnt) 50862306a36Sopenharmony_ci __field(u32, tid_idx) 50962306a36Sopenharmony_ci __field(u32, tid_offset) 51062306a36Sopenharmony_ci __field(u32, length) 51162306a36Sopenharmony_ci __field(u32, sent) 51262306a36Sopenharmony_ci ), 51362306a36Sopenharmony_ci TP_fast_assign(/* assign */ 51462306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 51562306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 51662306a36Sopenharmony_ci __entry->index = index; 51762306a36Sopenharmony_ci __entry->idx = flow->idx; 51862306a36Sopenharmony_ci __entry->resp_ib_psn = flow->flow_state.resp_ib_psn; 51962306a36Sopenharmony_ci __entry->generation = flow->flow_state.generation; 52062306a36Sopenharmony_ci __entry->fspsn = full_flow_psn(flow, 52162306a36Sopenharmony_ci flow->flow_state.spsn); 52262306a36Sopenharmony_ci __entry->flpsn = full_flow_psn(flow, 52362306a36Sopenharmony_ci flow->flow_state.lpsn); 52462306a36Sopenharmony_ci __entry->r_next_psn = flow->flow_state.r_next_psn; 52562306a36Sopenharmony_ci __entry->ib_spsn = flow->flow_state.ib_spsn; 52662306a36Sopenharmony_ci __entry->ib_lpsn = flow->flow_state.ib_lpsn; 52762306a36Sopenharmony_ci __entry->npagesets = flow->npagesets; 52862306a36Sopenharmony_ci __entry->tnode_cnt = flow->tnode_cnt; 52962306a36Sopenharmony_ci __entry->tidcnt = flow->tidcnt; 53062306a36Sopenharmony_ci __entry->tid_idx = flow->tid_idx; 53162306a36Sopenharmony_ci __entry->tid_offset = flow->tid_offset; 53262306a36Sopenharmony_ci __entry->length = flow->length; 53362306a36Sopenharmony_ci __entry->sent = flow->sent; 53462306a36Sopenharmony_ci ), 53562306a36Sopenharmony_ci TP_printk(/* print */ 53662306a36Sopenharmony_ci TID_FLOW_PRN, 53762306a36Sopenharmony_ci __get_str(dev), 53862306a36Sopenharmony_ci __entry->qpn, 53962306a36Sopenharmony_ci __entry->index, 54062306a36Sopenharmony_ci __entry->idx, 54162306a36Sopenharmony_ci __entry->resp_ib_psn, 54262306a36Sopenharmony_ci __entry->generation, 54362306a36Sopenharmony_ci __entry->fspsn, 54462306a36Sopenharmony_ci __entry->flpsn, 54562306a36Sopenharmony_ci __entry->r_next_psn, 54662306a36Sopenharmony_ci __entry->ib_spsn, 54762306a36Sopenharmony_ci __entry->ib_lpsn, 54862306a36Sopenharmony_ci __entry->npagesets, 54962306a36Sopenharmony_ci __entry->tnode_cnt, 55062306a36Sopenharmony_ci __entry->tidcnt, 55162306a36Sopenharmony_ci __entry->tid_idx, 55262306a36Sopenharmony_ci __entry->tid_offset, 55362306a36Sopenharmony_ci __entry->length, 55462306a36Sopenharmony_ci __entry->sent 55562306a36Sopenharmony_ci ) 55662306a36Sopenharmony_ci); 55762306a36Sopenharmony_ci 55862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 55962306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_alloc, 56062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 56162306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 56262306a36Sopenharmony_ci); 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 56562306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_build_read_pkt, 56662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 56762306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 56862306a36Sopenharmony_ci); 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 57162306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_build_read_resp, 57262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 57362306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 57462306a36Sopenharmony_ci); 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 57762306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_rcv_read_req, 57862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 57962306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 58062306a36Sopenharmony_ci); 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 58362306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_rcv_read_resp, 58462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 58562306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 58662306a36Sopenharmony_ci); 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 58962306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_restart_req, 59062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 59162306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 59262306a36Sopenharmony_ci); 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 59562306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_build_write_resp, 59662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 59762306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 59862306a36Sopenharmony_ci); 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 60162306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_rcv_write_resp, 60262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 60362306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 60462306a36Sopenharmony_ci); 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 60762306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_build_write_data, 60862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 60962306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 61062306a36Sopenharmony_ci); 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 61362306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_rcv_tid_ack, 61462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 61562306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 61662306a36Sopenharmony_ci); 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 61962306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_rcv_resync, 62062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 62162306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 62262306a36Sopenharmony_ci); 62362306a36Sopenharmony_ci 62462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 62562306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_handle_kdeth_eflags, 62662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 62762306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 62862306a36Sopenharmony_ci); 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 63162306a36Sopenharmony_ci hfi1_tid_flow_template, hfi1_tid_flow_read_kdeth_eflags, 63262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct tid_rdma_flow *flow), 63362306a36Sopenharmony_ci TP_ARGS(qp, index, flow) 63462306a36Sopenharmony_ci); 63562306a36Sopenharmony_ci 63662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_node */ 63762306a36Sopenharmony_ci hfi1_tid_node_template, 63862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u32 index, u32 base, 63962306a36Sopenharmony_ci u8 map, u8 used, u8 cnt), 64062306a36Sopenharmony_ci TP_ARGS(qp, msg, index, base, map, used, cnt), 64162306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 64262306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 64362306a36Sopenharmony_ci __field(u32, qpn) 64462306a36Sopenharmony_ci __string(msg, msg) 64562306a36Sopenharmony_ci __field(u32, index) 64662306a36Sopenharmony_ci __field(u32, base) 64762306a36Sopenharmony_ci __field(u8, map) 64862306a36Sopenharmony_ci __field(u8, used) 64962306a36Sopenharmony_ci __field(u8, cnt) 65062306a36Sopenharmony_ci ), 65162306a36Sopenharmony_ci TP_fast_assign(/* assign */ 65262306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 65362306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 65462306a36Sopenharmony_ci __assign_str(msg, msg); 65562306a36Sopenharmony_ci __entry->index = index; 65662306a36Sopenharmony_ci __entry->base = base; 65762306a36Sopenharmony_ci __entry->map = map; 65862306a36Sopenharmony_ci __entry->used = used; 65962306a36Sopenharmony_ci __entry->cnt = cnt; 66062306a36Sopenharmony_ci ), 66162306a36Sopenharmony_ci TP_printk(/* print */ 66262306a36Sopenharmony_ci TID_NODE_PRN, 66362306a36Sopenharmony_ci __get_str(dev), 66462306a36Sopenharmony_ci __entry->qpn, 66562306a36Sopenharmony_ci __get_str(msg), 66662306a36Sopenharmony_ci __entry->index, 66762306a36Sopenharmony_ci __entry->base, 66862306a36Sopenharmony_ci __entry->map, 66962306a36Sopenharmony_ci __entry->used, 67062306a36Sopenharmony_ci __entry->cnt 67162306a36Sopenharmony_ci ) 67262306a36Sopenharmony_ci); 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 67562306a36Sopenharmony_ci hfi1_tid_node_template, hfi1_tid_node_add, 67662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, const char *msg, u32 index, u32 base, 67762306a36Sopenharmony_ci u8 map, u8 used, u8 cnt), 67862306a36Sopenharmony_ci TP_ARGS(qp, msg, index, base, map, used, cnt) 67962306a36Sopenharmony_ci); 68062306a36Sopenharmony_ci 68162306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_entry */ 68262306a36Sopenharmony_ci hfi1_tid_entry_template, 68362306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, u32 ent), 68462306a36Sopenharmony_ci TP_ARGS(qp, index, ent), 68562306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 68662306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 68762306a36Sopenharmony_ci __field(u32, qpn) 68862306a36Sopenharmony_ci __field(int, index) 68962306a36Sopenharmony_ci __field(u8, ctrl) 69062306a36Sopenharmony_ci __field(u16, idx) 69162306a36Sopenharmony_ci __field(u16, len) 69262306a36Sopenharmony_ci ), 69362306a36Sopenharmony_ci TP_fast_assign(/* assign */ 69462306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 69562306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 69662306a36Sopenharmony_ci __entry->index = index; 69762306a36Sopenharmony_ci __entry->ctrl = hfi1_trace_get_tid_ctrl(ent); 69862306a36Sopenharmony_ci __entry->idx = hfi1_trace_get_tid_idx(ent); 69962306a36Sopenharmony_ci __entry->len = hfi1_trace_get_tid_len(ent); 70062306a36Sopenharmony_ci ), 70162306a36Sopenharmony_ci TP_printk(/* print */ 70262306a36Sopenharmony_ci "[%s] qpn 0x%x TID entry %d: idx %u len %u ctrl 0x%x", 70362306a36Sopenharmony_ci __get_str(dev), 70462306a36Sopenharmony_ci __entry->qpn, 70562306a36Sopenharmony_ci __entry->index, 70662306a36Sopenharmony_ci __entry->idx, 70762306a36Sopenharmony_ci __entry->len, 70862306a36Sopenharmony_ci __entry->ctrl 70962306a36Sopenharmony_ci ) 71062306a36Sopenharmony_ci); 71162306a36Sopenharmony_ci 71262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 71362306a36Sopenharmony_ci hfi1_tid_entry_template, hfi1_tid_entry_alloc, 71462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, u32 entry), 71562306a36Sopenharmony_ci TP_ARGS(qp, index, entry) 71662306a36Sopenharmony_ci); 71762306a36Sopenharmony_ci 71862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 71962306a36Sopenharmony_ci hfi1_tid_entry_template, hfi1_tid_entry_build_read_resp, 72062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, u32 ent), 72162306a36Sopenharmony_ci TP_ARGS(qp, index, ent) 72262306a36Sopenharmony_ci); 72362306a36Sopenharmony_ci 72462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 72562306a36Sopenharmony_ci hfi1_tid_entry_template, hfi1_tid_entry_rcv_read_req, 72662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, u32 ent), 72762306a36Sopenharmony_ci TP_ARGS(qp, index, ent) 72862306a36Sopenharmony_ci); 72962306a36Sopenharmony_ci 73062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 73162306a36Sopenharmony_ci hfi1_tid_entry_template, hfi1_tid_entry_rcv_write_resp, 73262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, u32 entry), 73362306a36Sopenharmony_ci TP_ARGS(qp, index, entry) 73462306a36Sopenharmony_ci); 73562306a36Sopenharmony_ci 73662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 73762306a36Sopenharmony_ci hfi1_tid_entry_template, hfi1_tid_entry_build_write_data, 73862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, u32 entry), 73962306a36Sopenharmony_ci TP_ARGS(qp, index, entry) 74062306a36Sopenharmony_ci); 74162306a36Sopenharmony_ci 74262306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* rsp_info */ 74362306a36Sopenharmony_ci hfi1_responder_info_template, 74462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 74562306a36Sopenharmony_ci TP_ARGS(qp, psn), 74662306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 74762306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 74862306a36Sopenharmony_ci __field(u32, qpn) 74962306a36Sopenharmony_ci __field(u8, state) 75062306a36Sopenharmony_ci __field(u8, s_state) 75162306a36Sopenharmony_ci __field(u32, psn) 75262306a36Sopenharmony_ci __field(u32, r_psn) 75362306a36Sopenharmony_ci __field(u8, r_state) 75462306a36Sopenharmony_ci __field(u8, r_flags) 75562306a36Sopenharmony_ci __field(u8, r_head_ack_queue) 75662306a36Sopenharmony_ci __field(u8, s_tail_ack_queue) 75762306a36Sopenharmony_ci __field(u8, s_acked_ack_queue) 75862306a36Sopenharmony_ci __field(u8, s_ack_state) 75962306a36Sopenharmony_ci __field(u8, s_nak_state) 76062306a36Sopenharmony_ci __field(u8, r_nak_state) 76162306a36Sopenharmony_ci __field(u32, s_flags) 76262306a36Sopenharmony_ci __field(u32, ps_flags) 76362306a36Sopenharmony_ci __field(unsigned long, iow_flags) 76462306a36Sopenharmony_ci ), 76562306a36Sopenharmony_ci TP_fast_assign(/* assign */ 76662306a36Sopenharmony_ci struct hfi1_qp_priv *priv = qp->priv; 76762306a36Sopenharmony_ci 76862306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 76962306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 77062306a36Sopenharmony_ci __entry->state = qp->state; 77162306a36Sopenharmony_ci __entry->s_state = qp->s_state; 77262306a36Sopenharmony_ci __entry->psn = psn; 77362306a36Sopenharmony_ci __entry->r_psn = qp->r_psn; 77462306a36Sopenharmony_ci __entry->r_state = qp->r_state; 77562306a36Sopenharmony_ci __entry->r_flags = qp->r_flags; 77662306a36Sopenharmony_ci __entry->r_head_ack_queue = qp->r_head_ack_queue; 77762306a36Sopenharmony_ci __entry->s_tail_ack_queue = qp->s_tail_ack_queue; 77862306a36Sopenharmony_ci __entry->s_acked_ack_queue = qp->s_acked_ack_queue; 77962306a36Sopenharmony_ci __entry->s_ack_state = qp->s_ack_state; 78062306a36Sopenharmony_ci __entry->s_nak_state = qp->s_nak_state; 78162306a36Sopenharmony_ci __entry->s_flags = qp->s_flags; 78262306a36Sopenharmony_ci __entry->ps_flags = priv->s_flags; 78362306a36Sopenharmony_ci __entry->iow_flags = priv->s_iowait.flags; 78462306a36Sopenharmony_ci ), 78562306a36Sopenharmony_ci TP_printk(/* print */ 78662306a36Sopenharmony_ci RSP_INFO_PRN, 78762306a36Sopenharmony_ci __get_str(dev), 78862306a36Sopenharmony_ci __entry->qpn, 78962306a36Sopenharmony_ci __entry->state, 79062306a36Sopenharmony_ci __entry->s_state, 79162306a36Sopenharmony_ci __entry->psn, 79262306a36Sopenharmony_ci __entry->r_psn, 79362306a36Sopenharmony_ci __entry->r_state, 79462306a36Sopenharmony_ci __entry->r_flags, 79562306a36Sopenharmony_ci __entry->r_head_ack_queue, 79662306a36Sopenharmony_ci __entry->s_tail_ack_queue, 79762306a36Sopenharmony_ci __entry->s_acked_ack_queue, 79862306a36Sopenharmony_ci __entry->s_ack_state, 79962306a36Sopenharmony_ci __entry->s_nak_state, 80062306a36Sopenharmony_ci __entry->s_flags, 80162306a36Sopenharmony_ci __entry->ps_flags, 80262306a36Sopenharmony_ci __entry->iow_flags 80362306a36Sopenharmony_ci ) 80462306a36Sopenharmony_ci); 80562306a36Sopenharmony_ci 80662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 80762306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_make_rc_ack, 80862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 80962306a36Sopenharmony_ci TP_ARGS(qp, psn) 81062306a36Sopenharmony_ci); 81162306a36Sopenharmony_ci 81262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 81362306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_rcv_tid_read_req, 81462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 81562306a36Sopenharmony_ci TP_ARGS(qp, psn) 81662306a36Sopenharmony_ci); 81762306a36Sopenharmony_ci 81862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 81962306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_tid_rcv_error, 82062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 82162306a36Sopenharmony_ci TP_ARGS(qp, psn) 82262306a36Sopenharmony_ci); 82362306a36Sopenharmony_ci 82462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 82562306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_tid_write_alloc_res, 82662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 82762306a36Sopenharmony_ci TP_ARGS(qp, psn) 82862306a36Sopenharmony_ci); 82962306a36Sopenharmony_ci 83062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 83162306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_rcv_tid_write_req, 83262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 83362306a36Sopenharmony_ci TP_ARGS(qp, psn) 83462306a36Sopenharmony_ci); 83562306a36Sopenharmony_ci 83662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 83762306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_build_tid_write_resp, 83862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 83962306a36Sopenharmony_ci TP_ARGS(qp, psn) 84062306a36Sopenharmony_ci); 84162306a36Sopenharmony_ci 84262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 84362306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_rcv_tid_write_data, 84462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 84562306a36Sopenharmony_ci TP_ARGS(qp, psn) 84662306a36Sopenharmony_ci); 84762306a36Sopenharmony_ci 84862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 84962306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_make_tid_ack, 85062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 85162306a36Sopenharmony_ci TP_ARGS(qp, psn) 85262306a36Sopenharmony_ci); 85362306a36Sopenharmony_ci 85462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 85562306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_handle_kdeth_eflags, 85662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 85762306a36Sopenharmony_ci TP_ARGS(qp, psn) 85862306a36Sopenharmony_ci); 85962306a36Sopenharmony_ci 86062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 86162306a36Sopenharmony_ci hfi1_responder_info_template, hfi1_rsp_read_kdeth_eflags, 86262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 psn), 86362306a36Sopenharmony_ci TP_ARGS(qp, psn) 86462306a36Sopenharmony_ci); 86562306a36Sopenharmony_ci 86662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* sender_info */ 86762306a36Sopenharmony_ci hfi1_sender_info_template, 86862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 86962306a36Sopenharmony_ci TP_ARGS(qp), 87062306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 87162306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 87262306a36Sopenharmony_ci __field(u32, qpn) 87362306a36Sopenharmony_ci __field(u8, state) 87462306a36Sopenharmony_ci __field(u32, s_cur) 87562306a36Sopenharmony_ci __field(u32, s_tail) 87662306a36Sopenharmony_ci __field(u32, s_head) 87762306a36Sopenharmony_ci __field(u32, s_acked) 87862306a36Sopenharmony_ci __field(u32, s_last) 87962306a36Sopenharmony_ci __field(u32, s_psn) 88062306a36Sopenharmony_ci __field(u32, s_last_psn) 88162306a36Sopenharmony_ci __field(u32, s_flags) 88262306a36Sopenharmony_ci __field(u32, ps_flags) 88362306a36Sopenharmony_ci __field(unsigned long, iow_flags) 88462306a36Sopenharmony_ci __field(u8, s_state) 88562306a36Sopenharmony_ci __field(u8, s_num_rd) 88662306a36Sopenharmony_ci __field(u8, s_retry) 88762306a36Sopenharmony_ci ), 88862306a36Sopenharmony_ci TP_fast_assign(/* assign */ 88962306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 89062306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 89162306a36Sopenharmony_ci __entry->state = qp->state; 89262306a36Sopenharmony_ci __entry->s_cur = qp->s_cur; 89362306a36Sopenharmony_ci __entry->s_tail = qp->s_tail; 89462306a36Sopenharmony_ci __entry->s_head = qp->s_head; 89562306a36Sopenharmony_ci __entry->s_acked = qp->s_acked; 89662306a36Sopenharmony_ci __entry->s_last = qp->s_last; 89762306a36Sopenharmony_ci __entry->s_psn = qp->s_psn; 89862306a36Sopenharmony_ci __entry->s_last_psn = qp->s_last_psn; 89962306a36Sopenharmony_ci __entry->s_flags = qp->s_flags; 90062306a36Sopenharmony_ci __entry->ps_flags = ((struct hfi1_qp_priv *)qp->priv)->s_flags; 90162306a36Sopenharmony_ci __entry->iow_flags = 90262306a36Sopenharmony_ci ((struct hfi1_qp_priv *)qp->priv)->s_iowait.flags; 90362306a36Sopenharmony_ci __entry->s_state = qp->s_state; 90462306a36Sopenharmony_ci __entry->s_num_rd = qp->s_num_rd_atomic; 90562306a36Sopenharmony_ci __entry->s_retry = qp->s_retry; 90662306a36Sopenharmony_ci ), 90762306a36Sopenharmony_ci TP_printk(/* print */ 90862306a36Sopenharmony_ci SENDER_INFO_PRN, 90962306a36Sopenharmony_ci __get_str(dev), 91062306a36Sopenharmony_ci __entry->qpn, 91162306a36Sopenharmony_ci __entry->state, 91262306a36Sopenharmony_ci __entry->s_cur, 91362306a36Sopenharmony_ci __entry->s_tail, 91462306a36Sopenharmony_ci __entry->s_head, 91562306a36Sopenharmony_ci __entry->s_acked, 91662306a36Sopenharmony_ci __entry->s_last, 91762306a36Sopenharmony_ci __entry->s_psn, 91862306a36Sopenharmony_ci __entry->s_last_psn, 91962306a36Sopenharmony_ci __entry->s_flags, 92062306a36Sopenharmony_ci __entry->ps_flags, 92162306a36Sopenharmony_ci __entry->iow_flags, 92262306a36Sopenharmony_ci __entry->s_state, 92362306a36Sopenharmony_ci __entry->s_num_rd, 92462306a36Sopenharmony_ci __entry->s_retry 92562306a36Sopenharmony_ci ) 92662306a36Sopenharmony_ci); 92762306a36Sopenharmony_ci 92862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 92962306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_make_rc_req, 93062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 93162306a36Sopenharmony_ci TP_ARGS(qp) 93262306a36Sopenharmony_ci); 93362306a36Sopenharmony_ci 93462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 93562306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_reset_psn, 93662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 93762306a36Sopenharmony_ci TP_ARGS(qp) 93862306a36Sopenharmony_ci); 93962306a36Sopenharmony_ci 94062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 94162306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_restart_rc, 94262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 94362306a36Sopenharmony_ci TP_ARGS(qp) 94462306a36Sopenharmony_ci); 94562306a36Sopenharmony_ci 94662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 94762306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_do_rc_ack, 94862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 94962306a36Sopenharmony_ci TP_ARGS(qp) 95062306a36Sopenharmony_ci); 95162306a36Sopenharmony_ci 95262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 95362306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_rcv_tid_read_resp, 95462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 95562306a36Sopenharmony_ci TP_ARGS(qp) 95662306a36Sopenharmony_ci); 95762306a36Sopenharmony_ci 95862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 95962306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_rcv_tid_ack, 96062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 96162306a36Sopenharmony_ci TP_ARGS(qp) 96262306a36Sopenharmony_ci); 96362306a36Sopenharmony_ci 96462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 96562306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_make_tid_pkt, 96662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 96762306a36Sopenharmony_ci TP_ARGS(qp) 96862306a36Sopenharmony_ci); 96962306a36Sopenharmony_ci 97062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 97162306a36Sopenharmony_ci hfi1_sender_info_template, hfi1_sender_read_kdeth_eflags, 97262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 97362306a36Sopenharmony_ci TP_ARGS(qp) 97462306a36Sopenharmony_ci); 97562306a36Sopenharmony_ci 97662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_read_sender */ 97762306a36Sopenharmony_ci hfi1_tid_read_sender_template, 97862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 97962306a36Sopenharmony_ci TP_ARGS(qp, newreq), 98062306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 98162306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 98262306a36Sopenharmony_ci __field(u32, qpn) 98362306a36Sopenharmony_ci __field(char, newreq) 98462306a36Sopenharmony_ci __field(u32, tid_r_reqs) 98562306a36Sopenharmony_ci __field(u32, tid_r_comp) 98662306a36Sopenharmony_ci __field(u32, pending_tid_r_segs) 98762306a36Sopenharmony_ci __field(u32, s_flags) 98862306a36Sopenharmony_ci __field(u32, ps_flags) 98962306a36Sopenharmony_ci __field(unsigned long, iow_flags) 99062306a36Sopenharmony_ci __field(u8, s_state) 99162306a36Sopenharmony_ci __field(u32, hw_flow_index) 99262306a36Sopenharmony_ci __field(u32, generation) 99362306a36Sopenharmony_ci __field(u32, fpsn) 99462306a36Sopenharmony_ci ), 99562306a36Sopenharmony_ci TP_fast_assign(/* assign */ 99662306a36Sopenharmony_ci struct hfi1_qp_priv *priv = qp->priv; 99762306a36Sopenharmony_ci 99862306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 99962306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 100062306a36Sopenharmony_ci __entry->newreq = newreq; 100162306a36Sopenharmony_ci __entry->tid_r_reqs = priv->tid_r_reqs; 100262306a36Sopenharmony_ci __entry->tid_r_comp = priv->tid_r_comp; 100362306a36Sopenharmony_ci __entry->pending_tid_r_segs = priv->pending_tid_r_segs; 100462306a36Sopenharmony_ci __entry->s_flags = qp->s_flags; 100562306a36Sopenharmony_ci __entry->ps_flags = priv->s_flags; 100662306a36Sopenharmony_ci __entry->iow_flags = priv->s_iowait.flags; 100762306a36Sopenharmony_ci __entry->s_state = priv->s_state; 100862306a36Sopenharmony_ci __entry->hw_flow_index = priv->flow_state.index; 100962306a36Sopenharmony_ci __entry->generation = priv->flow_state.generation; 101062306a36Sopenharmony_ci __entry->fpsn = priv->flow_state.psn; 101162306a36Sopenharmony_ci ), 101262306a36Sopenharmony_ci TP_printk(/* print */ 101362306a36Sopenharmony_ci TID_READ_SENDER_PRN, 101462306a36Sopenharmony_ci __get_str(dev), 101562306a36Sopenharmony_ci __entry->qpn, 101662306a36Sopenharmony_ci __entry->newreq, 101762306a36Sopenharmony_ci __entry->tid_r_reqs, 101862306a36Sopenharmony_ci __entry->tid_r_comp, 101962306a36Sopenharmony_ci __entry->pending_tid_r_segs, 102062306a36Sopenharmony_ci __entry->s_flags, 102162306a36Sopenharmony_ci __entry->ps_flags, 102262306a36Sopenharmony_ci __entry->iow_flags, 102362306a36Sopenharmony_ci __entry->s_state, 102462306a36Sopenharmony_ci __entry->hw_flow_index, 102562306a36Sopenharmony_ci __entry->generation, 102662306a36Sopenharmony_ci __entry->fpsn 102762306a36Sopenharmony_ci ) 102862306a36Sopenharmony_ci); 102962306a36Sopenharmony_ci 103062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 103162306a36Sopenharmony_ci hfi1_tid_read_sender_template, hfi1_tid_read_sender_make_req, 103262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 103362306a36Sopenharmony_ci TP_ARGS(qp, newreq) 103462306a36Sopenharmony_ci); 103562306a36Sopenharmony_ci 103662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 103762306a36Sopenharmony_ci hfi1_tid_read_sender_template, hfi1_tid_read_sender_kdeth_eflags, 103862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 103962306a36Sopenharmony_ci TP_ARGS(qp, newreq) 104062306a36Sopenharmony_ci); 104162306a36Sopenharmony_ci 104262306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_rdma_request */ 104362306a36Sopenharmony_ci hfi1_tid_rdma_request_template, 104462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 104562306a36Sopenharmony_ci struct tid_rdma_request *req), 104662306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req), 104762306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 104862306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 104962306a36Sopenharmony_ci __field(u32, qpn) 105062306a36Sopenharmony_ci __field(char, newreq) 105162306a36Sopenharmony_ci __field(u8, opcode) 105262306a36Sopenharmony_ci __field(u32, psn) 105362306a36Sopenharmony_ci __field(u32, lpsn) 105462306a36Sopenharmony_ci __field(u32, cur_seg) 105562306a36Sopenharmony_ci __field(u32, comp_seg) 105662306a36Sopenharmony_ci __field(u32, ack_seg) 105762306a36Sopenharmony_ci __field(u32, alloc_seg) 105862306a36Sopenharmony_ci __field(u32, total_segs) 105962306a36Sopenharmony_ci __field(u16, setup_head) 106062306a36Sopenharmony_ci __field(u16, clear_tail) 106162306a36Sopenharmony_ci __field(u16, flow_idx) 106262306a36Sopenharmony_ci __field(u16, acked_tail) 106362306a36Sopenharmony_ci __field(u32, state) 106462306a36Sopenharmony_ci __field(u32, r_ack_psn) 106562306a36Sopenharmony_ci __field(u32, r_flow_psn) 106662306a36Sopenharmony_ci __field(u32, r_last_acked) 106762306a36Sopenharmony_ci __field(u32, s_next_psn) 106862306a36Sopenharmony_ci ), 106962306a36Sopenharmony_ci TP_fast_assign(/* assign */ 107062306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 107162306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 107262306a36Sopenharmony_ci __entry->newreq = newreq; 107362306a36Sopenharmony_ci __entry->opcode = opcode; 107462306a36Sopenharmony_ci __entry->psn = psn; 107562306a36Sopenharmony_ci __entry->lpsn = lpsn; 107662306a36Sopenharmony_ci __entry->cur_seg = req->cur_seg; 107762306a36Sopenharmony_ci __entry->comp_seg = req->comp_seg; 107862306a36Sopenharmony_ci __entry->ack_seg = req->ack_seg; 107962306a36Sopenharmony_ci __entry->alloc_seg = req->alloc_seg; 108062306a36Sopenharmony_ci __entry->total_segs = req->total_segs; 108162306a36Sopenharmony_ci __entry->setup_head = req->setup_head; 108262306a36Sopenharmony_ci __entry->clear_tail = req->clear_tail; 108362306a36Sopenharmony_ci __entry->flow_idx = req->flow_idx; 108462306a36Sopenharmony_ci __entry->acked_tail = req->acked_tail; 108562306a36Sopenharmony_ci __entry->state = req->state; 108662306a36Sopenharmony_ci __entry->r_ack_psn = req->r_ack_psn; 108762306a36Sopenharmony_ci __entry->r_flow_psn = req->r_flow_psn; 108862306a36Sopenharmony_ci __entry->r_last_acked = req->r_last_acked; 108962306a36Sopenharmony_ci __entry->s_next_psn = req->s_next_psn; 109062306a36Sopenharmony_ci ), 109162306a36Sopenharmony_ci TP_printk(/* print */ 109262306a36Sopenharmony_ci TID_REQ_PRN, 109362306a36Sopenharmony_ci __get_str(dev), 109462306a36Sopenharmony_ci __entry->qpn, 109562306a36Sopenharmony_ci __entry->newreq, 109662306a36Sopenharmony_ci __entry->opcode, 109762306a36Sopenharmony_ci __entry->psn, 109862306a36Sopenharmony_ci __entry->lpsn, 109962306a36Sopenharmony_ci __entry->cur_seg, 110062306a36Sopenharmony_ci __entry->comp_seg, 110162306a36Sopenharmony_ci __entry->ack_seg, 110262306a36Sopenharmony_ci __entry->alloc_seg, 110362306a36Sopenharmony_ci __entry->total_segs, 110462306a36Sopenharmony_ci __entry->setup_head, 110562306a36Sopenharmony_ci __entry->clear_tail, 110662306a36Sopenharmony_ci __entry->flow_idx, 110762306a36Sopenharmony_ci __entry->acked_tail, 110862306a36Sopenharmony_ci __entry->state, 110962306a36Sopenharmony_ci __entry->r_ack_psn, 111062306a36Sopenharmony_ci __entry->r_flow_psn, 111162306a36Sopenharmony_ci __entry->r_last_acked, 111262306a36Sopenharmony_ci __entry->s_next_psn 111362306a36Sopenharmony_ci ) 111462306a36Sopenharmony_ci); 111562306a36Sopenharmony_ci 111662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 111762306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_make_req_read, 111862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 111962306a36Sopenharmony_ci struct tid_rdma_request *req), 112062306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 112162306a36Sopenharmony_ci); 112262306a36Sopenharmony_ci 112362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 112462306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_build_read_req, 112562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 112662306a36Sopenharmony_ci struct tid_rdma_request *req), 112762306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 112862306a36Sopenharmony_ci); 112962306a36Sopenharmony_ci 113062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 113162306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_read_req, 113262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 113362306a36Sopenharmony_ci struct tid_rdma_request *req), 113462306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 113562306a36Sopenharmony_ci); 113662306a36Sopenharmony_ci 113762306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 113862306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_read_resp, 113962306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 114062306a36Sopenharmony_ci struct tid_rdma_request *req), 114162306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 114262306a36Sopenharmony_ci); 114362306a36Sopenharmony_ci 114462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 114562306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_err, 114662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 114762306a36Sopenharmony_ci struct tid_rdma_request *req), 114862306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 114962306a36Sopenharmony_ci); 115062306a36Sopenharmony_ci 115162306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 115262306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_restart_req, 115362306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 115462306a36Sopenharmony_ci struct tid_rdma_request *req), 115562306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 115662306a36Sopenharmony_ci); 115762306a36Sopenharmony_ci 115862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 115962306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_setup_tid_wqe, 116062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 116162306a36Sopenharmony_ci struct tid_rdma_request *req), 116262306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 116362306a36Sopenharmony_ci); 116462306a36Sopenharmony_ci 116562306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 116662306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_write_alloc_res, 116762306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 116862306a36Sopenharmony_ci struct tid_rdma_request *req), 116962306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 117062306a36Sopenharmony_ci); 117162306a36Sopenharmony_ci 117262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 117362306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_write_req, 117462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 117562306a36Sopenharmony_ci struct tid_rdma_request *req), 117662306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 117762306a36Sopenharmony_ci); 117862306a36Sopenharmony_ci 117962306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 118062306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_build_write_resp, 118162306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 118262306a36Sopenharmony_ci struct tid_rdma_request *req), 118362306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 118462306a36Sopenharmony_ci); 118562306a36Sopenharmony_ci 118662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 118762306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_write_resp, 118862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 118962306a36Sopenharmony_ci struct tid_rdma_request *req), 119062306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 119162306a36Sopenharmony_ci); 119262306a36Sopenharmony_ci 119362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 119462306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_write_data, 119562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 119662306a36Sopenharmony_ci struct tid_rdma_request *req), 119762306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 119862306a36Sopenharmony_ci); 119962306a36Sopenharmony_ci 120062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 120162306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_tid_ack, 120262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 120362306a36Sopenharmony_ci struct tid_rdma_request *req), 120462306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 120562306a36Sopenharmony_ci); 120662306a36Sopenharmony_ci 120762306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 120862306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_tid_retry_timeout, 120962306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 121062306a36Sopenharmony_ci struct tid_rdma_request *req), 121162306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 121262306a36Sopenharmony_ci); 121362306a36Sopenharmony_ci 121462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 121562306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_rcv_resync, 121662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 121762306a36Sopenharmony_ci struct tid_rdma_request *req), 121862306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 121962306a36Sopenharmony_ci); 122062306a36Sopenharmony_ci 122162306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 122262306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_make_tid_pkt, 122362306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 122462306a36Sopenharmony_ci struct tid_rdma_request *req), 122562306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 122662306a36Sopenharmony_ci); 122762306a36Sopenharmony_ci 122862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 122962306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_make_tid_ack, 123062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 123162306a36Sopenharmony_ci struct tid_rdma_request *req), 123262306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 123362306a36Sopenharmony_ci); 123462306a36Sopenharmony_ci 123562306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 123662306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_handle_kdeth_eflags, 123762306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 123862306a36Sopenharmony_ci struct tid_rdma_request *req), 123962306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 124062306a36Sopenharmony_ci); 124162306a36Sopenharmony_ci 124262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 124362306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_read_kdeth_eflags, 124462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 124562306a36Sopenharmony_ci struct tid_rdma_request *req), 124662306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 124762306a36Sopenharmony_ci); 124862306a36Sopenharmony_ci 124962306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 125062306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_make_rc_ack_write, 125162306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 125262306a36Sopenharmony_ci struct tid_rdma_request *req), 125362306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 125462306a36Sopenharmony_ci); 125562306a36Sopenharmony_ci 125662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 125762306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_make_req_write, 125862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 125962306a36Sopenharmony_ci struct tid_rdma_request *req), 126062306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 126162306a36Sopenharmony_ci); 126262306a36Sopenharmony_ci 126362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 126462306a36Sopenharmony_ci hfi1_tid_rdma_request_template, hfi1_tid_req_update_num_rd_atomic, 126562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq, u8 opcode, u32 psn, u32 lpsn, 126662306a36Sopenharmony_ci struct tid_rdma_request *req), 126762306a36Sopenharmony_ci TP_ARGS(qp, newreq, opcode, psn, lpsn, req) 126862306a36Sopenharmony_ci); 126962306a36Sopenharmony_ci 127062306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* rc_rcv_err */ 127162306a36Sopenharmony_ci hfi1_rc_rcv_err_template, 127262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 opcode, u32 psn, int diff), 127362306a36Sopenharmony_ci TP_ARGS(qp, opcode, psn, diff), 127462306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 127562306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 127662306a36Sopenharmony_ci __field(u32, qpn) 127762306a36Sopenharmony_ci __field(u32, s_flags) 127862306a36Sopenharmony_ci __field(u8, state) 127962306a36Sopenharmony_ci __field(u8, s_acked_ack_queue) 128062306a36Sopenharmony_ci __field(u8, s_tail_ack_queue) 128162306a36Sopenharmony_ci __field(u8, r_head_ack_queue) 128262306a36Sopenharmony_ci __field(u32, opcode) 128362306a36Sopenharmony_ci __field(u32, psn) 128462306a36Sopenharmony_ci __field(u32, r_psn) 128562306a36Sopenharmony_ci __field(int, diff) 128662306a36Sopenharmony_ci ), 128762306a36Sopenharmony_ci TP_fast_assign(/* assign */ 128862306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 128962306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 129062306a36Sopenharmony_ci __entry->s_flags = qp->s_flags; 129162306a36Sopenharmony_ci __entry->state = qp->state; 129262306a36Sopenharmony_ci __entry->s_acked_ack_queue = qp->s_acked_ack_queue; 129362306a36Sopenharmony_ci __entry->s_tail_ack_queue = qp->s_tail_ack_queue; 129462306a36Sopenharmony_ci __entry->r_head_ack_queue = qp->r_head_ack_queue; 129562306a36Sopenharmony_ci __entry->opcode = opcode; 129662306a36Sopenharmony_ci __entry->psn = psn; 129762306a36Sopenharmony_ci __entry->r_psn = qp->r_psn; 129862306a36Sopenharmony_ci __entry->diff = diff; 129962306a36Sopenharmony_ci ), 130062306a36Sopenharmony_ci TP_printk(/* print */ 130162306a36Sopenharmony_ci RCV_ERR_PRN, 130262306a36Sopenharmony_ci __get_str(dev), 130362306a36Sopenharmony_ci __entry->qpn, 130462306a36Sopenharmony_ci __entry->s_flags, 130562306a36Sopenharmony_ci __entry->state, 130662306a36Sopenharmony_ci __entry->s_acked_ack_queue, 130762306a36Sopenharmony_ci __entry->s_tail_ack_queue, 130862306a36Sopenharmony_ci __entry->r_head_ack_queue, 130962306a36Sopenharmony_ci __entry->opcode, 131062306a36Sopenharmony_ci __entry->psn, 131162306a36Sopenharmony_ci __entry->r_psn, 131262306a36Sopenharmony_ci __entry->diff 131362306a36Sopenharmony_ci ) 131462306a36Sopenharmony_ci); 131562306a36Sopenharmony_ci 131662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 131762306a36Sopenharmony_ci hfi1_rc_rcv_err_template, hfi1_tid_rdma_rcv_err, 131862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 opcode, u32 psn, int diff), 131962306a36Sopenharmony_ci TP_ARGS(qp, opcode, psn, diff) 132062306a36Sopenharmony_ci); 132162306a36Sopenharmony_ci 132262306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* sge */ 132362306a36Sopenharmony_ci hfi1_sge_template, 132462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct rvt_sge *sge), 132562306a36Sopenharmony_ci TP_ARGS(qp, index, sge), 132662306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 132762306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 132862306a36Sopenharmony_ci __field(u32, qpn) 132962306a36Sopenharmony_ci __field(int, index) 133062306a36Sopenharmony_ci __field(u64, vaddr) 133162306a36Sopenharmony_ci __field(u32, sge_length) 133262306a36Sopenharmony_ci ), 133362306a36Sopenharmony_ci TP_fast_assign(/* assign */ 133462306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 133562306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 133662306a36Sopenharmony_ci __entry->index = index; 133762306a36Sopenharmony_ci __entry->vaddr = (u64)sge->vaddr; 133862306a36Sopenharmony_ci __entry->sge_length = sge->sge_length; 133962306a36Sopenharmony_ci ), 134062306a36Sopenharmony_ci TP_printk(/* print */ 134162306a36Sopenharmony_ci "[%s] qpn 0x%x sge %d: vaddr 0x%llx sge_length %u", 134262306a36Sopenharmony_ci __get_str(dev), 134362306a36Sopenharmony_ci __entry->qpn, 134462306a36Sopenharmony_ci __entry->index, 134562306a36Sopenharmony_ci __entry->vaddr, 134662306a36Sopenharmony_ci __entry->sge_length 134762306a36Sopenharmony_ci ) 134862306a36Sopenharmony_ci); 134962306a36Sopenharmony_ci 135062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 135162306a36Sopenharmony_ci hfi1_sge_template, hfi1_sge_check_align, 135262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, int index, struct rvt_sge *sge), 135362306a36Sopenharmony_ci TP_ARGS(qp, index, sge) 135462306a36Sopenharmony_ci); 135562306a36Sopenharmony_ci 135662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_write_sp */ 135762306a36Sopenharmony_ci hfi1_tid_write_rsp_template, 135862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 135962306a36Sopenharmony_ci TP_ARGS(qp), 136062306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 136162306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 136262306a36Sopenharmony_ci __field(u32, qpn) 136362306a36Sopenharmony_ci __field(u32, r_tid_head) 136462306a36Sopenharmony_ci __field(u32, r_tid_tail) 136562306a36Sopenharmony_ci __field(u32, r_tid_ack) 136662306a36Sopenharmony_ci __field(u32, r_tid_alloc) 136762306a36Sopenharmony_ci __field(u32, alloc_w_segs) 136862306a36Sopenharmony_ci __field(u32, pending_tid_w_segs) 136962306a36Sopenharmony_ci __field(bool, sync_pt) 137062306a36Sopenharmony_ci __field(u32, ps_nak_psn) 137162306a36Sopenharmony_ci __field(u8, ps_nak_state) 137262306a36Sopenharmony_ci __field(u8, prnr_nak_state) 137362306a36Sopenharmony_ci __field(u32, hw_flow_index) 137462306a36Sopenharmony_ci __field(u32, generation) 137562306a36Sopenharmony_ci __field(u32, fpsn) 137662306a36Sopenharmony_ci __field(bool, resync) 137762306a36Sopenharmony_ci __field(u32, r_next_psn_kdeth) 137862306a36Sopenharmony_ci ), 137962306a36Sopenharmony_ci TP_fast_assign(/* assign */ 138062306a36Sopenharmony_ci struct hfi1_qp_priv *priv = qp->priv; 138162306a36Sopenharmony_ci 138262306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 138362306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 138462306a36Sopenharmony_ci __entry->r_tid_head = priv->r_tid_head; 138562306a36Sopenharmony_ci __entry->r_tid_tail = priv->r_tid_tail; 138662306a36Sopenharmony_ci __entry->r_tid_ack = priv->r_tid_ack; 138762306a36Sopenharmony_ci __entry->r_tid_alloc = priv->r_tid_alloc; 138862306a36Sopenharmony_ci __entry->alloc_w_segs = priv->alloc_w_segs; 138962306a36Sopenharmony_ci __entry->pending_tid_w_segs = priv->pending_tid_w_segs; 139062306a36Sopenharmony_ci __entry->sync_pt = priv->sync_pt; 139162306a36Sopenharmony_ci __entry->ps_nak_psn = priv->s_nak_psn; 139262306a36Sopenharmony_ci __entry->ps_nak_state = priv->s_nak_state; 139362306a36Sopenharmony_ci __entry->prnr_nak_state = priv->rnr_nak_state; 139462306a36Sopenharmony_ci __entry->hw_flow_index = priv->flow_state.index; 139562306a36Sopenharmony_ci __entry->generation = priv->flow_state.generation; 139662306a36Sopenharmony_ci __entry->fpsn = priv->flow_state.psn; 139762306a36Sopenharmony_ci __entry->resync = priv->resync; 139862306a36Sopenharmony_ci __entry->r_next_psn_kdeth = priv->r_next_psn_kdeth; 139962306a36Sopenharmony_ci ), 140062306a36Sopenharmony_ci TP_printk(/* print */ 140162306a36Sopenharmony_ci TID_WRITE_RSPDR_PRN, 140262306a36Sopenharmony_ci __get_str(dev), 140362306a36Sopenharmony_ci __entry->qpn, 140462306a36Sopenharmony_ci __entry->r_tid_head, 140562306a36Sopenharmony_ci __entry->r_tid_tail, 140662306a36Sopenharmony_ci __entry->r_tid_ack, 140762306a36Sopenharmony_ci __entry->r_tid_alloc, 140862306a36Sopenharmony_ci __entry->alloc_w_segs, 140962306a36Sopenharmony_ci __entry->pending_tid_w_segs, 141062306a36Sopenharmony_ci __entry->sync_pt ? "yes" : "no", 141162306a36Sopenharmony_ci __entry->ps_nak_psn, 141262306a36Sopenharmony_ci __entry->ps_nak_state, 141362306a36Sopenharmony_ci __entry->prnr_nak_state, 141462306a36Sopenharmony_ci __entry->hw_flow_index, 141562306a36Sopenharmony_ci __entry->generation, 141662306a36Sopenharmony_ci __entry->fpsn, 141762306a36Sopenharmony_ci __entry->resync ? "yes" : "no", 141862306a36Sopenharmony_ci __entry->r_next_psn_kdeth 141962306a36Sopenharmony_ci ) 142062306a36Sopenharmony_ci); 142162306a36Sopenharmony_ci 142262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 142362306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_alloc_res, 142462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 142562306a36Sopenharmony_ci TP_ARGS(qp) 142662306a36Sopenharmony_ci); 142762306a36Sopenharmony_ci 142862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 142962306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_rcv_req, 143062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 143162306a36Sopenharmony_ci TP_ARGS(qp) 143262306a36Sopenharmony_ci); 143362306a36Sopenharmony_ci 143462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 143562306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_build_resp, 143662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 143762306a36Sopenharmony_ci TP_ARGS(qp) 143862306a36Sopenharmony_ci); 143962306a36Sopenharmony_ci 144062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 144162306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_rcv_data, 144262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 144362306a36Sopenharmony_ci TP_ARGS(qp) 144462306a36Sopenharmony_ci); 144562306a36Sopenharmony_ci 144662306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 144762306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_rcv_resync, 144862306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 144962306a36Sopenharmony_ci TP_ARGS(qp) 145062306a36Sopenharmony_ci); 145162306a36Sopenharmony_ci 145262306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 145362306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_make_tid_ack, 145462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 145562306a36Sopenharmony_ci TP_ARGS(qp) 145662306a36Sopenharmony_ci); 145762306a36Sopenharmony_ci 145862306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 145962306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_handle_kdeth_eflags, 146062306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 146162306a36Sopenharmony_ci TP_ARGS(qp) 146262306a36Sopenharmony_ci); 146362306a36Sopenharmony_ci 146462306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 146562306a36Sopenharmony_ci hfi1_tid_write_rsp_template, hfi1_tid_write_rsp_make_rc_ack, 146662306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp), 146762306a36Sopenharmony_ci TP_ARGS(qp) 146862306a36Sopenharmony_ci); 146962306a36Sopenharmony_ci 147062306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_write_sender */ 147162306a36Sopenharmony_ci hfi1_tid_write_sender_template, 147262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 147362306a36Sopenharmony_ci TP_ARGS(qp, newreq), 147462306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 147562306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 147662306a36Sopenharmony_ci __field(u32, qpn) 147762306a36Sopenharmony_ci __field(char, newreq) 147862306a36Sopenharmony_ci __field(u32, s_tid_cur) 147962306a36Sopenharmony_ci __field(u32, s_tid_tail) 148062306a36Sopenharmony_ci __field(u32, s_tid_head) 148162306a36Sopenharmony_ci __field(u32, pending_tid_w_resp) 148262306a36Sopenharmony_ci __field(u32, n_requests) 148362306a36Sopenharmony_ci __field(u32, n_tid_requests) 148462306a36Sopenharmony_ci __field(u32, s_flags) 148562306a36Sopenharmony_ci __field(u32, ps_flags) 148662306a36Sopenharmony_ci __field(unsigned long, iow_flags) 148762306a36Sopenharmony_ci __field(u8, s_state) 148862306a36Sopenharmony_ci __field(u8, s_retry) 148962306a36Sopenharmony_ci ), 149062306a36Sopenharmony_ci TP_fast_assign(/* assign */ 149162306a36Sopenharmony_ci struct hfi1_qp_priv *priv = qp->priv; 149262306a36Sopenharmony_ci 149362306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 149462306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 149562306a36Sopenharmony_ci __entry->newreq = newreq; 149662306a36Sopenharmony_ci __entry->s_tid_cur = priv->s_tid_cur; 149762306a36Sopenharmony_ci __entry->s_tid_tail = priv->s_tid_tail; 149862306a36Sopenharmony_ci __entry->s_tid_head = priv->s_tid_head; 149962306a36Sopenharmony_ci __entry->pending_tid_w_resp = priv->pending_tid_w_resp; 150062306a36Sopenharmony_ci __entry->n_requests = atomic_read(&priv->n_requests); 150162306a36Sopenharmony_ci __entry->n_tid_requests = atomic_read(&priv->n_tid_requests); 150262306a36Sopenharmony_ci __entry->s_flags = qp->s_flags; 150362306a36Sopenharmony_ci __entry->ps_flags = priv->s_flags; 150462306a36Sopenharmony_ci __entry->iow_flags = priv->s_iowait.flags; 150562306a36Sopenharmony_ci __entry->s_state = priv->s_state; 150662306a36Sopenharmony_ci __entry->s_retry = priv->s_retry; 150762306a36Sopenharmony_ci ), 150862306a36Sopenharmony_ci TP_printk(/* print */ 150962306a36Sopenharmony_ci TID_WRITE_SENDER_PRN, 151062306a36Sopenharmony_ci __get_str(dev), 151162306a36Sopenharmony_ci __entry->qpn, 151262306a36Sopenharmony_ci __entry->newreq, 151362306a36Sopenharmony_ci __entry->s_tid_cur, 151462306a36Sopenharmony_ci __entry->s_tid_tail, 151562306a36Sopenharmony_ci __entry->s_tid_head, 151662306a36Sopenharmony_ci __entry->pending_tid_w_resp, 151762306a36Sopenharmony_ci __entry->n_requests, 151862306a36Sopenharmony_ci __entry->n_tid_requests, 151962306a36Sopenharmony_ci __entry->s_flags, 152062306a36Sopenharmony_ci __entry->ps_flags, 152162306a36Sopenharmony_ci __entry->iow_flags, 152262306a36Sopenharmony_ci __entry->s_state, 152362306a36Sopenharmony_ci __entry->s_retry 152462306a36Sopenharmony_ci ) 152562306a36Sopenharmony_ci); 152662306a36Sopenharmony_ci 152762306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 152862306a36Sopenharmony_ci hfi1_tid_write_sender_template, hfi1_tid_write_sender_rcv_resp, 152962306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 153062306a36Sopenharmony_ci TP_ARGS(qp, newreq) 153162306a36Sopenharmony_ci); 153262306a36Sopenharmony_ci 153362306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 153462306a36Sopenharmony_ci hfi1_tid_write_sender_template, hfi1_tid_write_sender_rcv_tid_ack, 153562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 153662306a36Sopenharmony_ci TP_ARGS(qp, newreq) 153762306a36Sopenharmony_ci); 153862306a36Sopenharmony_ci 153962306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 154062306a36Sopenharmony_ci hfi1_tid_write_sender_template, hfi1_tid_write_sender_retry_timeout, 154162306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 154262306a36Sopenharmony_ci TP_ARGS(qp, newreq) 154362306a36Sopenharmony_ci); 154462306a36Sopenharmony_ci 154562306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 154662306a36Sopenharmony_ci hfi1_tid_write_sender_template, hfi1_tid_write_sender_make_tid_pkt, 154762306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 154862306a36Sopenharmony_ci TP_ARGS(qp, newreq) 154962306a36Sopenharmony_ci); 155062306a36Sopenharmony_ci 155162306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 155262306a36Sopenharmony_ci hfi1_tid_write_sender_template, hfi1_tid_write_sender_make_req, 155362306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 155462306a36Sopenharmony_ci TP_ARGS(qp, newreq) 155562306a36Sopenharmony_ci); 155662306a36Sopenharmony_ci 155762306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 155862306a36Sopenharmony_ci hfi1_tid_write_sender_template, hfi1_tid_write_sender_restart_rc, 155962306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, char newreq), 156062306a36Sopenharmony_ci TP_ARGS(qp, newreq) 156162306a36Sopenharmony_ci); 156262306a36Sopenharmony_ci 156362306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* tid_ack */ 156462306a36Sopenharmony_ci hfi1_tid_ack_template, 156562306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 aeth, u32 psn, 156662306a36Sopenharmony_ci u32 req_psn, u32 resync_psn), 156762306a36Sopenharmony_ci TP_ARGS(qp, aeth, psn, req_psn, resync_psn), 156862306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 156962306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 157062306a36Sopenharmony_ci __field(u32, qpn) 157162306a36Sopenharmony_ci __field(u32, aeth) 157262306a36Sopenharmony_ci __field(u32, psn) 157362306a36Sopenharmony_ci __field(u32, req_psn) 157462306a36Sopenharmony_ci __field(u32, resync_psn) 157562306a36Sopenharmony_ci ), 157662306a36Sopenharmony_ci TP_fast_assign(/* assign */ 157762306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 157862306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 157962306a36Sopenharmony_ci __entry->aeth = aeth; 158062306a36Sopenharmony_ci __entry->psn = psn; 158162306a36Sopenharmony_ci __entry->req_psn = req_psn; 158262306a36Sopenharmony_ci __entry->resync_psn = resync_psn; 158362306a36Sopenharmony_ci ), 158462306a36Sopenharmony_ci TP_printk(/* print */ 158562306a36Sopenharmony_ci "[%s] qpn 0x%x aeth 0x%x psn 0x%x req_psn 0x%x resync_psn 0x%x", 158662306a36Sopenharmony_ci __get_str(dev), 158762306a36Sopenharmony_ci __entry->qpn, 158862306a36Sopenharmony_ci __entry->aeth, 158962306a36Sopenharmony_ci __entry->psn, 159062306a36Sopenharmony_ci __entry->req_psn, 159162306a36Sopenharmony_ci __entry->resync_psn 159262306a36Sopenharmony_ci ) 159362306a36Sopenharmony_ci); 159462306a36Sopenharmony_ci 159562306a36Sopenharmony_ciDEFINE_EVENT(/* rcv_tid_ack */ 159662306a36Sopenharmony_ci hfi1_tid_ack_template, hfi1_rcv_tid_ack, 159762306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u32 aeth, u32 psn, 159862306a36Sopenharmony_ci u32 req_psn, u32 resync_psn), 159962306a36Sopenharmony_ci TP_ARGS(qp, aeth, psn, req_psn, resync_psn) 160062306a36Sopenharmony_ci); 160162306a36Sopenharmony_ci 160262306a36Sopenharmony_ciDECLARE_EVENT_CLASS(/* kdeth_eflags_error */ 160362306a36Sopenharmony_ci hfi1_kdeth_eflags_error_template, 160462306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u8 rcv_type, u8 rte, u32 psn), 160562306a36Sopenharmony_ci TP_ARGS(qp, rcv_type, rte, psn), 160662306a36Sopenharmony_ci TP_STRUCT__entry(/* entry */ 160762306a36Sopenharmony_ci DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 160862306a36Sopenharmony_ci __field(u32, qpn) 160962306a36Sopenharmony_ci __field(u8, rcv_type) 161062306a36Sopenharmony_ci __field(u8, rte) 161162306a36Sopenharmony_ci __field(u32, psn) 161262306a36Sopenharmony_ci ), 161362306a36Sopenharmony_ci TP_fast_assign(/* assign */ 161462306a36Sopenharmony_ci DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 161562306a36Sopenharmony_ci __entry->qpn = qp->ibqp.qp_num; 161662306a36Sopenharmony_ci __entry->rcv_type = rcv_type; 161762306a36Sopenharmony_ci __entry->rte = rte; 161862306a36Sopenharmony_ci __entry->psn = psn; 161962306a36Sopenharmony_ci ), 162062306a36Sopenharmony_ci TP_printk(/* print */ 162162306a36Sopenharmony_ci KDETH_EFLAGS_ERR_PRN, 162262306a36Sopenharmony_ci __get_str(dev), 162362306a36Sopenharmony_ci __entry->qpn, 162462306a36Sopenharmony_ci __entry->rcv_type, 162562306a36Sopenharmony_ci __entry->rte, 162662306a36Sopenharmony_ci __entry->psn 162762306a36Sopenharmony_ci ) 162862306a36Sopenharmony_ci); 162962306a36Sopenharmony_ci 163062306a36Sopenharmony_ciDEFINE_EVENT(/* event */ 163162306a36Sopenharmony_ci hfi1_kdeth_eflags_error_template, hfi1_eflags_err_write, 163262306a36Sopenharmony_ci TP_PROTO(struct rvt_qp *qp, u8 rcv_type, u8 rte, u32 psn), 163362306a36Sopenharmony_ci TP_ARGS(qp, rcv_type, rte, psn) 163462306a36Sopenharmony_ci); 163562306a36Sopenharmony_ci 163662306a36Sopenharmony_ci#endif /* __HFI1_TRACE_TID_H */ 163762306a36Sopenharmony_ci 163862306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH 163962306a36Sopenharmony_ci#undef TRACE_INCLUDE_FILE 164062306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH . 164162306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE trace_tid 164262306a36Sopenharmony_ci#include <trace/define_trace.h> 1643