On Wed, 15 Jan 2020, Jani Nikula <jani.nikula@xxxxxxxxx> wrote: > On Wed, 15 Jan 2020, Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@xxxxxxxxx> 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@xxxxxxxxx> > > Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> All, I'd really appreciate acks or reviews on this one to unblock the rest. I think the patch is fine, but I'd like wider approval before merging. I'm thinking of putting this in a topic branch and merging to both drm-intel-next-queued and drm-misc-next, so we can start converting i915 to use this. BR, Jani. > >> --- >> 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_ */ -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel