xref: /linux/include/trace/events/pci_controller.h (revision e2683c8868d03382da7e1ce8453b543a043066d1)
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 
26 RATE
27 
28 #undef EM
29 #undef EMe
30 #define EM(a, b)	{a, b},
31 #define EMe(a, b)	{a, b}
32 
33 TRACE_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>
59