Commit 27528c66 authored by Lyude's avatar Lyude Committed by Daniel Vetter

drm: Add ratelimited versions of the DRM_DEBUG* macros

There's a couple of places where this would be useful for drivers (such
as reporting DP aux transaction timeouts).
Signed-off-by: default avatarLyude <cpaul@redhat.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470443443-27252-7-git-send-email-cpaul@redhat.com
parent cfc5adea
......@@ -232,6 +232,36 @@ void drm_err(const char *format, ...);
drm_ut_debug_printk(__func__, fmt, ##args); \
} while (0)
#define _DRM_DEFINE_DEBUG_RATELIMITED(level, fmt, args...) \
do { \
if (unlikely(drm_debug & DRM_UT_ ## level)) { \
static DEFINE_RATELIMIT_STATE( \
_rs, \
DEFAULT_RATELIMIT_INTERVAL, \
DEFAULT_RATELIMIT_BURST); \
\
if (__ratelimit(&_rs)) { \
drm_ut_debug_printk(__func__, fmt, \
##args); \
} \
} \
} while (0)
/**
* Rate limited debug output. Like DRM_DEBUG() but won't flood the log.
*
* \param fmt printf() like format string.
* \param arg arguments
*/
#define DRM_DEBUG_RATELIMITED(fmt, args...) \
_DRM_DEFINE_DEBUG_RATELIMITED(CORE, fmt, ##args)
#define DRM_DEBUG_DRIVER_RATELIMITED(fmt, args...) \
_DRM_DEFINE_DEBUG_RATELIMITED(DRIVER, fmt, ##args)
#define DRM_DEBUG_KMS_RATELIMITED(fmt, args...) \
_DRM_DEFINE_DEBUG_RATELIMITED(KMS, fmt, ##args)
#define DRM_DEBUG_PRIME_RATELIMITED(fmt, args...) \
_DRM_DEFINE_DEBUG_RATELIMITED(PRIME, fmt, ##args)
/*@}*/
/***********************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment