On 2020-05-22 2:03 p.m., Nicholas Kazlauskas wrote: > [Why] > Warnings in the kernel are generally treated as errors. > > The BREAK_TO_DEBUGGER macro is not a critical error or warning, but > rather intended for developer use to help investigate behavior and > sequences for other issues. > > We do still make use of DC_ERROR/ASSERT(0) in various places in the > code for things that are genuine issues. > > Since most developers don't actually KGDB while debugging the kernel > these essentially would have no value on their own since the KGDB > breakpoint wouldn't trigger - ASSERT(0) was used as a shortcut to get > a stacktrace. > > [How] > Turn it into a DRM_DEBUG_DRIVER print instead. We unfortunately lose > the stacktrace, but we still do retain some of the useful debug > information this offers by having at least the function and line > number loggable. > > If KGDB is supported in the kernel this will still trigger a real > breakpoint as well. > > Cc: Harry Wentland <[email protected]> > Cc: Leo Li <[email protected]> > Cc: Bhawanpreet Lakha <[email protected]> > Cc: Rodrigo Siqueira <[email protected]> > Signed-off-by: Nicholas Kazlauskas <[email protected]>
Reviewed-by: Harry Wentland <[email protected]> Harry > --- > drivers/gpu/drm/amd/display/dc/os_types.h | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/os_types.h > b/drivers/gpu/drm/amd/display/dc/os_types.h > index 6d7bca562eec..604ceb6c0375 100644 > --- a/drivers/gpu/drm/amd/display/dc/os_types.h > +++ b/drivers/gpu/drm/amd/display/dc/os_types.h > @@ -111,7 +111,15 @@ > #define ASSERT(expr) WARN_ON_ONCE(!(expr)) > #endif > > -#define BREAK_TO_DEBUGGER() ASSERT(0) > +#if defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB) > +#define BREAK_TO_DEBUGGER() \ > + do { \ > + DRM_DEBUG_DRIVER("%s():%d\n", __func__, __LINE__); \ > + kgdb_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__); \ > _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
