Skip to content

Commit

Permalink
drm/amd/display: Clean up debug macros
Browse files Browse the repository at this point in the history
This patch simplifies the ASSERT*() and BREAK_TO_DEBUGGER() macros:
- Move the dependency check of CONFIG_KGDB into Kconfig
- Unify the kgdb_breakpoint() call
- Drop the non-existing CONFIG_HAVE_KGDB

Also align the behavior of ASSERT() macro in both cases with and
without CONFIG_DEBUG_KERNEL_DC.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  • Loading branch information
Takashi Iwai authored and Alex Deucher committed Oct 26, 2020
1 parent 8b7dc1f commit bcc3775
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 21 deletions.
1 change: 1 addition & 0 deletions drivers/gpu/drm/amd/display/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ config DRM_AMD_DC_SI
config DEBUG_KERNEL_DC
bool "Enable kgdb break in DC"
depends on DRM_AMD_DC
depends on KGDB
help
Choose this option if you want to hit kdgb_break in assert.

Expand Down
33 changes: 12 additions & 21 deletions drivers/gpu/drm/amd/display/dc/os_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,36 +94,27 @@
* general debug capabilities
*
*/
#if defined(CONFIG_DEBUG_KERNEL_DC) && (defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB))
#define ASSERT_CRITICAL(expr) do { \
if (WARN_ON(!(expr))) { \
kgdb_breakpoint(); \
} \
} while (0)
#ifdef CONFIG_DEBUG_KERNEL_DC
#define dc_breakpoint() kgdb_breakpoint()
#else
#define ASSERT_CRITICAL(expr) do { \
if (WARN_ON(!(expr))) { \
; \
} \
} while (0)
#define dc_breakpoint() do {} while (0)
#endif

#if defined(CONFIG_DEBUG_KERNEL_DC)
#define ASSERT(expr) ASSERT_CRITICAL(expr)
#define ASSERT_CRITICAL(expr) do { \
if (WARN_ON(!(expr))) \
dc_breakpoint(); \
} while (0)

#else
#define ASSERT(expr) WARN_ON_ONCE(!(expr))
#endif
#define ASSERT(expr) do { \
if (WARN_ON_ONCE(!(expr))) \
dc_breakpoint(); \
} while (0)

#if defined(CONFIG_DEBUG_KERNEL_DC) && (defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB))
#define BREAK_TO_DEBUGGER() \
do { \
DRM_DEBUG_DRIVER("%s():%d\n", __func__, __LINE__); \
kgdb_breakpoint(); \
dc_breakpoint(); \
} while (0)
#else
#define BREAK_TO_DEBUGGER() DRM_DEBUG_DRIVER("%s():%d\n", __func__, __LINE__)
#endif

#define DC_ERR(...) do { \
dm_error(__VA_ARGS__); \
Expand Down

0 comments on commit bcc3775

Please sign in to comment.