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