Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
6a60dd12 SR |
2 | #ifndef _LINUX_FTRACE_IRQ_H |
3 | #define _LINUX_FTRACE_IRQ_H | |
4 | ||
5 | ||
78d904b4 | 6 | #ifdef CONFIG_FTRACE_NMI_ENTER |
7b2c8625 SRRH |
7 | extern void arch_ftrace_nmi_enter(void); |
8 | extern void arch_ftrace_nmi_exit(void); | |
6a60dd12 | 9 | #else |
7b2c8625 SRRH |
10 | static inline void arch_ftrace_nmi_enter(void) { } |
11 | static inline void arch_ftrace_nmi_exit(void) { } | |
6a60dd12 SR |
12 | #endif |
13 | ||
7b2c8625 SRRH |
14 | #ifdef CONFIG_HWLAT_TRACER |
15 | extern bool trace_hwlat_callback_enabled; | |
16 | extern void trace_hwlat_callback(bool enter); | |
17 | #endif | |
18 | ||
19 | static inline void ftrace_nmi_enter(void) | |
20 | { | |
21 | #ifdef CONFIG_HWLAT_TRACER | |
22 | if (trace_hwlat_callback_enabled) | |
23 | trace_hwlat_callback(true); | |
24 | #endif | |
25 | arch_ftrace_nmi_enter(); | |
26 | } | |
27 | ||
28 | static inline void ftrace_nmi_exit(void) | |
29 | { | |
30 | arch_ftrace_nmi_exit(); | |
31 | #ifdef CONFIG_HWLAT_TRACER | |
32 | if (trace_hwlat_callback_enabled) | |
33 | trace_hwlat_callback(false); | |
34 | #endif | |
35 | } | |
36 | ||
6a60dd12 | 37 | #endif /* _LINUX_FTRACE_IRQ_H */ |