projects/linux·blob master · refs

58 lines · 1.3 KiB

1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM pci_controller
4
5#if !defined(_TRACE_HW_EVENT_PCI_CONTROLLER_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_HW_EVENT_PCI_CONTROLLER_H
7
8#include <uapi/linux/pci_regs.h>
9#include <linux/tracepoint.h>
10
11#define RATE \
12 EM(PCIE_SPEED_2_5GT, "2.5 GT/s") \
13 EM(PCIE_SPEED_5_0GT, "5.0 GT/s") \
14 EM(PCIE_SPEED_8_0GT, "8.0 GT/s") \
15 EM(PCIE_SPEED_16_0GT, "16.0 GT/s") \
16 EM(PCIE_SPEED_32_0GT, "32.0 GT/s") \
17 EM(PCIE_SPEED_64_0GT, "64.0 GT/s") \
18 EMe(PCI_SPEED_UNKNOWN, "Unknown")
19
20
21#undef EM
22#undef EMe
23#define EM(a, b) TRACE_DEFINE_ENUM(a);
24#define EMe(a, b) TRACE_DEFINE_ENUM(a);
25
26RATE
27
28#undef EM
29#undef EMe
30#define EM(a, b) {a, b},
31#define EMe(a, b) {a, b}
32
33TRACE_EVENT(pcie_ltssm_state_transition,
34 TP_PROTO(const char *dev_name, const char *state, u32 rate),
35 TP_ARGS(dev_name, state, rate),
36
37 TP_STRUCT__entry(
38 __string(dev_name, dev_name)
39 __string(state, state)
40 __field(u32, rate)
41 ),
42
43 TP_fast_assign(
44 __assign_str(dev_name);
45 __assign_str(state);
46 __entry->rate = rate;
47 ),
48
49 TP_printk("dev: %s state: %s rate: %s",
50 __get_str(dev_name), __get_str(state),
51 __print_symbolic(__entry->rate, RATE)
52 )
53);
54
55#endif /* _TRACE_HW_EVENT_PCI_CONTROLLER_H */
56
57/* This part must be outside protection */
58#include <trace/define_trace.h>