[Intel-gfx] [ [PATCH v2 01/10] drm/print: introduce new struct drm_device based WARN* macros

Sean Paul sean at poorly.run
Wed Jan 22 13:30:53 UTC 2020


On Tue, Jan 14, 2020 at 10:49 PM Pankaj Bharadiya
<pankaj.laxminarayan.bharadiya at intel.com> wrote:
>
> Add new struct drm_device based WARN* macros. These are modeled after
> the core kernel device based WARN* macros. These would be preferred
> over the regular WARN* macros, where possible.
>
> These macros include device information in the backtrace, so we know
> what device the warnings originate from.
>
> Knowing the device specific information in the backtrace would be
> helpful in development all around.
>
> Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya at intel.com>

Acked-by: Sean Paul <sean at poorly.run>

> ---
>  include/drm/drm_print.h | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index 8f99d389792d..894a0b9437e2 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -553,4 +553,33 @@ void __drm_err(const char *format, ...);
>  #define DRM_DEBUG_PRIME_RATELIMITED(fmt, ...)                          \
>         DRM_DEV_DEBUG_PRIME_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
>
> +/*
> + * struct drm_device based WARNs
> + *
> + * drm_WARN*() acts like WARN*(), but with the key difference of
> + * using device specific information so that we know from which device
> + * warning is originating from.
> + *
> + * Prefer drm_device based drm_WARN* over regular WARN*
> + */
> +
> +/* Helper for struct drm_device based WARNs */
> +#define drm_WARN(drm, condition, format, arg...)                       \
> +       WARN(condition, "%s %s: " format,                               \
> +                       dev_driver_string((drm)->dev),                  \
> +                       dev_name((drm)->dev), ## arg)
> +
> +#define drm_WARN_ONCE(drm, condition, format, arg...)                  \
> +       WARN_ONCE(condition, "%s %s: " format,                          \
> +                       dev_driver_string((drm)->dev),                  \
> +                       dev_name((drm)->dev), ## arg)
> +
> +#define drm_WARN_ON(drm, x)                                            \
> +       drm_WARN((drm), (x), "%s",                                      \
> +                "drm_WARN_ON(" __stringify(x) ")")
> +
> +#define drm_WARN_ON_ONCE(drm, x)                                       \
> +       drm_WARN_ONCE((drm), (x), "%s",                                 \
> +                     "drm_WARN_ON_ONCE(" __stringify(x) ")")
> +
>  #endif /* DRM_PRINT_H_ */
> --
> 2.23.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the dri-devel mailing list