0001
0002
0003
0004
0005 #undef TRACE_SYSTEM
0006 #define TRACE_SYSTEM hns3
0007
0008 #if !defined(_HCLGEVF_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
0009 #define _HCLGEVF_TRACE_H_
0010
0011 #include <linux/tracepoint.h>
0012
0013 #define VF_GET_MBX_LEN (sizeof(struct hclge_mbx_pf_to_vf_cmd) / sizeof(u32))
0014 #define VF_SEND_MBX_LEN (sizeof(struct hclge_mbx_vf_to_pf_cmd) / sizeof(u32))
0015
0016 TRACE_EVENT(hclge_vf_mbx_get,
0017 TP_PROTO(
0018 struct hclgevf_dev *hdev,
0019 struct hclge_mbx_pf_to_vf_cmd *req),
0020 TP_ARGS(hdev, req),
0021
0022 TP_STRUCT__entry(
0023 __field(u8, vfid)
0024 __field(u16, code)
0025 __string(pciname, pci_name(hdev->pdev))
0026 __string(devname, &hdev->nic.kinfo.netdev->name)
0027 __array(u32, mbx_data, VF_GET_MBX_LEN)
0028 ),
0029
0030 TP_fast_assign(
0031 __entry->vfid = req->dest_vfid;
0032 __entry->code = le16_to_cpu(req->msg.code);
0033 __assign_str(pciname, pci_name(hdev->pdev));
0034 __assign_str(devname, &hdev->nic.kinfo.netdev->name);
0035 memcpy(__entry->mbx_data, req,
0036 sizeof(struct hclge_mbx_pf_to_vf_cmd));
0037 ),
0038
0039 TP_printk(
0040 "%s %s vfid:%u code:%u data:%s",
0041 __get_str(pciname), __get_str(devname), __entry->vfid,
0042 __entry->code,
0043 __print_array(__entry->mbx_data, VF_GET_MBX_LEN, sizeof(u32))
0044 )
0045 );
0046
0047 TRACE_EVENT(hclge_vf_mbx_send,
0048 TP_PROTO(
0049 struct hclgevf_dev *hdev,
0050 struct hclge_mbx_vf_to_pf_cmd *req),
0051 TP_ARGS(hdev, req),
0052
0053 TP_STRUCT__entry(
0054 __field(u8, vfid)
0055 __field(u8, code)
0056 __field(u8, subcode)
0057 __string(pciname, pci_name(hdev->pdev))
0058 __string(devname, &hdev->nic.kinfo.netdev->name)
0059 __array(u32, mbx_data, VF_SEND_MBX_LEN)
0060 ),
0061
0062 TP_fast_assign(
0063 __entry->vfid = req->mbx_src_vfid;
0064 __entry->code = req->msg.code;
0065 __entry->subcode = req->msg.subcode;
0066 __assign_str(pciname, pci_name(hdev->pdev));
0067 __assign_str(devname, &hdev->nic.kinfo.netdev->name);
0068 memcpy(__entry->mbx_data, req,
0069 sizeof(struct hclge_mbx_vf_to_pf_cmd));
0070 ),
0071
0072 TP_printk(
0073 "%s %s vfid:%u code:%u subcode:%u data:%s",
0074 __get_str(pciname), __get_str(devname), __entry->vfid,
0075 __entry->code, __entry->subcode,
0076 __print_array(__entry->mbx_data, VF_SEND_MBX_LEN, sizeof(u32))
0077 )
0078 );
0079
0080 #endif
0081
0082
0083 #undef TRACE_INCLUDE_PATH
0084 #define TRACE_INCLUDE_PATH .
0085 #undef TRACE_INCLUDE_FILE
0086 #define TRACE_INCLUDE_FILE hclgevf_trace
0087 #include <trace/define_trace.h>