xref: /openbmc/linux/include/linux/ftrace_irq.h (revision bce29ac9)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
26a60dd12SSteven Rostedt #ifndef _LINUX_FTRACE_IRQ_H
36a60dd12SSteven Rostedt #define _LINUX_FTRACE_IRQ_H
46a60dd12SSteven Rostedt 
57b2c8625SSteven Rostedt (Red Hat) #ifdef CONFIG_HWLAT_TRACER
67b2c8625SSteven Rostedt (Red Hat) extern bool trace_hwlat_callback_enabled;
77b2c8625SSteven Rostedt (Red Hat) extern void trace_hwlat_callback(bool enter);
87b2c8625SSteven Rostedt (Red Hat) #endif
97b2c8625SSteven Rostedt (Red Hat) 
10*bce29ac9SDaniel Bristot de Oliveira #ifdef CONFIG_OSNOISE_TRACER
11*bce29ac9SDaniel Bristot de Oliveira extern bool trace_osnoise_callback_enabled;
12*bce29ac9SDaniel Bristot de Oliveira extern void trace_osnoise_callback(bool enter);
13*bce29ac9SDaniel Bristot de Oliveira #endif
14*bce29ac9SDaniel Bristot de Oliveira 
ftrace_nmi_enter(void)157b2c8625SSteven Rostedt (Red Hat) static inline void ftrace_nmi_enter(void)
167b2c8625SSteven Rostedt (Red Hat) {
177b2c8625SSteven Rostedt (Red Hat) #ifdef CONFIG_HWLAT_TRACER
187b2c8625SSteven Rostedt (Red Hat) 	if (trace_hwlat_callback_enabled)
197b2c8625SSteven Rostedt (Red Hat) 		trace_hwlat_callback(true);
207b2c8625SSteven Rostedt (Red Hat) #endif
21*bce29ac9SDaniel Bristot de Oliveira #ifdef CONFIG_OSNOISE_TRACER
22*bce29ac9SDaniel Bristot de Oliveira 	if (trace_osnoise_callback_enabled)
23*bce29ac9SDaniel Bristot de Oliveira 		trace_osnoise_callback(true);
24*bce29ac9SDaniel Bristot de Oliveira #endif
257b2c8625SSteven Rostedt (Red Hat) }
267b2c8625SSteven Rostedt (Red Hat) 
ftrace_nmi_exit(void)277b2c8625SSteven Rostedt (Red Hat) static inline void ftrace_nmi_exit(void)
287b2c8625SSteven Rostedt (Red Hat) {
297b2c8625SSteven Rostedt (Red Hat) #ifdef CONFIG_HWLAT_TRACER
307b2c8625SSteven Rostedt (Red Hat) 	if (trace_hwlat_callback_enabled)
317b2c8625SSteven Rostedt (Red Hat) 		trace_hwlat_callback(false);
327b2c8625SSteven Rostedt (Red Hat) #endif
33*bce29ac9SDaniel Bristot de Oliveira #ifdef CONFIG_OSNOISE_TRACER
34*bce29ac9SDaniel Bristot de Oliveira 	if (trace_osnoise_callback_enabled)
35*bce29ac9SDaniel Bristot de Oliveira 		trace_osnoise_callback(false);
36*bce29ac9SDaniel Bristot de Oliveira #endif
377b2c8625SSteven Rostedt (Red Hat) }
387b2c8625SSteven Rostedt (Red Hat) 
396a60dd12SSteven Rostedt #endif /* _LINUX_FTRACE_IRQ_H */
40