xref: /linux/drivers/gpu/drm/amd/display/dc/spl/spl_debug.h (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1 /* SPDX-License-Identifier: MIT */
2 
3 /* Copyright 2024 Advanced Micro Devices, Inc. */
4 
5 #ifndef SPL_DEBUG_H
6 #define SPL_DEBUG_H
7 
8 #if defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB)
9 #define SPL_ASSERT_CRITICAL(expr) do {	\
10 	if (WARN_ON(!(expr))) { \
11 		kgdb_breakpoint(); \
12 	} \
13 } while (0)
14 #else
15 #define SPL_ASSERT_CRITICAL(expr) do {	\
16 	if (WARN_ON(!(expr))) { \
17 		; \
18 	} \
19 } while (0)
20 #endif /* CONFIG_HAVE_KGDB || CONFIG_KGDB */
21 
22 #if defined(CONFIG_DEBUG_KERNEL_DC)
23 #define SPL_ASSERT(expr) SPL_ASSERT_CRITICAL(expr)
24 #else
25 #define SPL_ASSERT(expr) WARN_ON(!(expr))
26 #endif /* CONFIG_DEBUG_KERNEL_DC */
27 
28 #define SPL_BREAK_TO_DEBUGGER() SPL_ASSERT(0)
29 
30 #endif  // SPL_DEBUG_H
31