Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /* Copyright (c) 2018-2019 Hisilicon Limited. */
0003 
0004 /* This must be outside ifdef _HCLGEVF_TRACE_H */
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 /* _HCLGEVF_TRACE_H_ */
0081 
0082 /* This must be outside ifdef _HCLGEVF_TRACE_H */
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>