sched/doc: Update documentation for base_slice_ns and CONFIG_HZ relation
[sfrench/cifs-2.6.git] / drivers / net / ethernet / hisilicon / hns3 / hns3vf / hclgevf_trace.h
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_SYSTEM
6 #define TRACE_SYSTEM hns3
7
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
16 TRACE_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, pci_name(hdev->pdev));
34                 __assign_str(devname, &hdev->nic.kinfo.netdev->name);
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
47 TRACE_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, pci_name(hdev->pdev));
67                 __assign_str(devname, &hdev->nic.kinfo.netdev->name);
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
80 #endif /* _HCLGEVF_TRACE_H_ */
81
82 /* This must be outside ifdef _HCLGEVF_TRACE_H */
83 #undef TRACE_INCLUDE_PATH
84 #define TRACE_INCLUDE_PATH .
85 #undef TRACE_INCLUDE_FILE
86 #define TRACE_INCLUDE_FILE hclgevf_trace
87 #include <trace/define_trace.h>