Back to home page

OSCL-LXR

 
 

    


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