brintos

brintos / linux-shallow public Read only

0
0
Text · 3.8 KiB · 66b0843 Raw
138 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/* Copyright (c) 2018-2019 Hisilicon Limited. */3 4/* This must be outside ifdef _HCLGEVF_TRACE_H */5#undef TRACE_SYSTEM6#define TRACE_SYSTEM hns37 8#if !defined(_HCLGEVF_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)9#define _HCLGEVF_TRACE_H_10 11#include <linux/tracepoint.h>12 13#define VF_GET_MBX_LEN	(sizeof(struct hclge_mbx_pf_to_vf_cmd) / sizeof(u32))14#define VF_SEND_MBX_LEN	(sizeof(struct hclge_mbx_vf_to_pf_cmd) / sizeof(u32))15 16TRACE_EVENT(hclge_vf_mbx_get,17	TP_PROTO(18		struct hclgevf_dev *hdev,19		struct hclge_mbx_pf_to_vf_cmd *req),20	TP_ARGS(hdev, req),21 22	TP_STRUCT__entry(23		__field(u8, vfid)24		__field(u16, code)25		__string(pciname, pci_name(hdev->pdev))26		__string(devname, hdev->nic.kinfo.netdev->name)27		__array(u32, mbx_data, VF_GET_MBX_LEN)28	),29 30	TP_fast_assign(31		__entry->vfid = req->dest_vfid;32		__entry->code = le16_to_cpu(req->msg.code);33		__assign_str(pciname);34		__assign_str(devname);35		memcpy(__entry->mbx_data, req,36		       sizeof(struct hclge_mbx_pf_to_vf_cmd));37	),38 39	TP_printk(40		"%s %s vfid:%u code:%u data:%s",41		__get_str(pciname), __get_str(devname), __entry->vfid,42		__entry->code,43		__print_array(__entry->mbx_data, VF_GET_MBX_LEN, sizeof(u32))44	)45);46 47TRACE_EVENT(hclge_vf_mbx_send,48	TP_PROTO(49		struct hclgevf_dev *hdev,50		struct hclge_mbx_vf_to_pf_cmd *req),51	TP_ARGS(hdev, req),52 53	TP_STRUCT__entry(54		__field(u8, vfid)55		__field(u8, code)56		__field(u8, subcode)57		__string(pciname, pci_name(hdev->pdev))58		__string(devname, hdev->nic.kinfo.netdev->name)59		__array(u32, mbx_data, VF_SEND_MBX_LEN)60	),61 62	TP_fast_assign(63		__entry->vfid = req->mbx_src_vfid;64		__entry->code = req->msg.code;65		__entry->subcode = req->msg.subcode;66		__assign_str(pciname);67		__assign_str(devname);68		memcpy(__entry->mbx_data, req,69		       sizeof(struct hclge_mbx_vf_to_pf_cmd));70	),71 72	TP_printk(73		"%s %s vfid:%u code:%u subcode:%u data:%s",74		__get_str(pciname), __get_str(devname), __entry->vfid,75		__entry->code, __entry->subcode,76		__print_array(__entry->mbx_data, VF_SEND_MBX_LEN, sizeof(u32))77	)78);79 80DECLARE_EVENT_CLASS(hclge_vf_cmd_template,81		    TP_PROTO(struct hclge_comm_hw *hw,82			     struct hclge_desc *desc,83			     int index,84			     int num),85 86		    TP_ARGS(hw, desc, index, num),87 88		    TP_STRUCT__entry(__field(u16, opcode)89			__field(u16, flag)90			__field(u16, retval)91			__field(u16, rsv)92			__field(int, index)93			__field(int, num)94			__string(pciname, pci_name(hw->cmq.csq.pdev))95			__array(u32, data, HCLGE_DESC_DATA_LEN)),96 97		    TP_fast_assign(int i;98			__entry->opcode = le16_to_cpu(desc->opcode);99			__entry->flag = le16_to_cpu(desc->flag);100			__entry->retval = le16_to_cpu(desc->retval);101			__entry->rsv = le16_to_cpu(desc->rsv);102			__entry->index = index;103			__entry->num = num;104			__assign_str(pciname);105			for (i = 0; i < HCLGE_DESC_DATA_LEN; i++)106				__entry->data[i] = le32_to_cpu(desc->data[i]);),107 108		    TP_printk("%s opcode:0x%04x %d-%d flag:0x%04x retval:0x%04x rsv:0x%04x data:%s",109			      __get_str(pciname), __entry->opcode,110			      __entry->index, __entry->num,111			      __entry->flag, __entry->retval, __entry->rsv,112			      __print_array(__entry->data,113					    HCLGE_DESC_DATA_LEN, sizeof(u32)))114);115 116DEFINE_EVENT(hclge_vf_cmd_template, hclge_vf_cmd_send,117	     TP_PROTO(struct hclge_comm_hw *hw,118		      struct hclge_desc *desc,119		      int index,120		      int num),121	     TP_ARGS(hw, desc, index, num));122 123DEFINE_EVENT(hclge_vf_cmd_template, hclge_vf_cmd_get,124	     TP_PROTO(struct hclge_comm_hw *hw,125		      struct hclge_desc *desc,126		      int index,127		      int num),128	     TP_ARGS(hw, desc, index, num));129 130#endif /* _HCLGEVF_TRACE_H_ */131 132/* This must be outside ifdef _HCLGEVF_TRACE_H */133#undef TRACE_INCLUDE_PATH134#define TRACE_INCLUDE_PATH .135#undef TRACE_INCLUDE_FILE136#define TRACE_INCLUDE_FILE hclgevf_trace137#include <trace/define_trace.h>138