#define CREATE_TRACE_POINTS
#include "trace.h"
#include "exp_rcv.h"
#include "ipoib.h"
static u8 __get_ib_hdr_len(struct ib_header *hdr)
{ … }
static u8 __get_16b_hdr_len(struct hfi1_16b_header *hdr)
{ … }
u8 hfi1_trace_packet_hdr_len(struct hfi1_packet *packet)
{ … }
u8 hfi1_trace_opa_hdr_len(struct hfi1_opa_header *opa_hdr)
{ … }
const char *hfi1_trace_get_packet_l4_str(u8 l4)
{ … }
const char *hfi1_trace_get_packet_l2_str(u8 l2)
{ … }
#define IMM_PRN …
#define RETH_PRN …
#define AETH_PRN …
#define DETH_PRN …
#define DETH_ENTROPY_PRN …
#define IETH_PRN …
#define ATOMICACKETH_PRN …
#define ATOMICETH_PRN …
#define TID_RDMA_KDETH …
#define TID_RDMA_KDETH_DATA …
#define TID_READ_REQ_PRN …
#define TID_READ_RSP_PRN …
#define TID_WRITE_REQ_PRN …
#define TID_WRITE_RSP_PRN …
#define TID_WRITE_DATA_PRN …
#define TID_ACK_PRN …
#define TID_RESYNC_PRN …
#define OP(transport, op) …
static const char *parse_syndrome(u8 syndrome)
{ … }
void hfi1_trace_parse_9b_bth(struct ib_other_headers *ohdr,
u8 *ack, bool *becn, bool *fecn, u8 *mig,
u8 *se, u8 *pad, u8 *opcode, u8 *tver,
u16 *pkey, u32 *psn, u32 *qpn)
{ … }
void hfi1_trace_parse_16b_bth(struct ib_other_headers *ohdr,
u8 *ack, u8 *mig, u8 *opcode,
u8 *pad, u8 *se, u8 *tver,
u32 *psn, u32 *qpn)
{ … }
static u16 ib_get_len(const struct ib_header *hdr)
{ … }
void hfi1_trace_parse_9b_hdr(struct ib_header *hdr, bool sc5,
u8 *lnh, u8 *lver, u8 *sl, u8 *sc,
u16 *len, u32 *dlid, u32 *slid)
{ … }
void hfi1_trace_parse_16b_hdr(struct hfi1_16b_header *hdr,
u8 *age, bool *becn, bool *fecn,
u8 *l4, u8 *rc, u8 *sc,
u16 *entropy, u16 *len, u16 *pkey,
u32 *dlid, u32 *slid)
{ … }
#define LRH_PRN …
#define LRH_9B_PRN …
#define LRH_16B_PRN …
const char *hfi1_trace_fmt_lrh(struct trace_seq *p, bool bypass,
u8 age, bool becn, bool fecn, u8 l4,
u8 lnh, const char *lnh_name, u8 lver,
u8 rc, u8 sc, u8 sl, u16 entropy,
u16 len, u16 pkey, u32 dlid, u32 slid)
{ … }
#define BTH_9B_PRN …
#define BTH_16B_PRN …
#define L4_FM_16B_PRN …
const char *hfi1_trace_fmt_rest(struct trace_seq *p, bool bypass, u8 l4,
u8 ack, bool becn, bool fecn, u8 mig,
u8 se, u8 pad, u8 opcode, const char *opname,
u8 tver, u16 pkey, u32 psn, u32 qpn,
u32 dest_qpn, u32 src_qpn)
{ … }
const char *parse_everbs_hdrs(
struct trace_seq *p,
u8 opcode, u8 l4, u32 dest_qpn, u32 src_qpn,
void *ehdrs)
{ … }
const char *parse_sdma_flags(
struct trace_seq *p,
u64 desc0, u64 desc1)
{ … }
const char *print_u32_array(
struct trace_seq *p,
u32 *arr, int len)
{ … }
u8 hfi1_trace_get_tid_ctrl(u32 ent)
{ … }
u16 hfi1_trace_get_tid_len(u32 ent)
{ … }
u16 hfi1_trace_get_tid_idx(u32 ent)
{ … }
struct hfi1_ctxt_hist { … };
static struct hfi1_ctxt_hist hist = …;
const char *hfi1_trace_print_rsm_hist(struct trace_seq *p, unsigned int ctxt)
{ … }
__hfi1_trace_fn(AFFINITY);
__hfi1_trace_fn(PKT);
__hfi1_trace_fn(PROC);
__hfi1_trace_fn(SDMA);
__hfi1_trace_fn(LINKVERB);
__hfi1_trace_fn(DEBUG);
__hfi1_trace_fn(SNOOP);
__hfi1_trace_fn(CNTR);
__hfi1_trace_fn(PIO);
__hfi1_trace_fn(DC8051);
__hfi1_trace_fn(FIRMWARE);
__hfi1_trace_fn(RCVCTRL);
__hfi1_trace_fn(TID);
__hfi1_trace_fn(MMU);
__hfi1_trace_fn(IOCTL);