mirror of https://gitee.com/openkylin/linux.git
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: Lyude <cpaul@redhat.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1470443443-27252-7-git-send-email-cpaul@redhat.com
This commit is contained in:
parent
cfc5adea19
commit
27528c667a
|
@ -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)
|
||||
|
||||
/*@}*/
|
||||
|
||||
/***********************************************************************/
|
||||
|
|
Loading…
Reference in New Issue