drm/print: group logging functions by prink or device based
In preparation for adding struct drm_device based logging, group the existing functions by prink or struct device based logging. No functional changes. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Sean Paul <sean@poorly.run> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/51c70d80e7dd06c49ba3be56fbb6ae70edddc102.1572258936.git.jani.nikula@intel.com
This commit is contained in:
Родитель
876905b8fe
Коммит
3bf149bd3f
|
@ -320,6 +320,10 @@ static inline bool drm_debug_enabled(enum drm_debug_category category)
|
||||||
return unlikely(__drm_debug & category);
|
return unlikely(__drm_debug & category);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* struct device based logging
|
||||||
|
*/
|
||||||
|
|
||||||
__printf(3, 4)
|
__printf(3, 4)
|
||||||
void drm_dev_printk(const struct device *dev, const char *level,
|
void drm_dev_printk(const struct device *dev, const char *level,
|
||||||
const char *format, ...);
|
const char *format, ...);
|
||||||
|
@ -327,6 +331,96 @@ __printf(3, 4)
|
||||||
void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
|
void drm_dev_dbg(const struct device *dev, enum drm_debug_category category,
|
||||||
const char *format, ...);
|
const char *format, ...);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error output.
|
||||||
|
*
|
||||||
|
* @dev: device pointer
|
||||||
|
* @fmt: printf() like format string.
|
||||||
|
*/
|
||||||
|
#define DRM_DEV_ERROR(dev, fmt, ...) \
|
||||||
|
drm_dev_printk(dev, KERN_ERR, "*ERROR* " fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rate limited error output. Like DRM_ERROR() but won't flood the log.
|
||||||
|
*
|
||||||
|
* @dev: device pointer
|
||||||
|
* @fmt: printf() like format string.
|
||||||
|
*/
|
||||||
|
#define DRM_DEV_ERROR_RATELIMITED(dev, fmt, ...) \
|
||||||
|
({ \
|
||||||
|
static DEFINE_RATELIMIT_STATE(_rs, \
|
||||||
|
DEFAULT_RATELIMIT_INTERVAL, \
|
||||||
|
DEFAULT_RATELIMIT_BURST); \
|
||||||
|
\
|
||||||
|
if (__ratelimit(&_rs)) \
|
||||||
|
DRM_DEV_ERROR(dev, fmt, ##__VA_ARGS__); \
|
||||||
|
})
|
||||||
|
|
||||||
|
#define DRM_DEV_INFO(dev, fmt, ...) \
|
||||||
|
drm_dev_printk(dev, KERN_INFO, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
#define DRM_DEV_INFO_ONCE(dev, fmt, ...) \
|
||||||
|
({ \
|
||||||
|
static bool __print_once __read_mostly; \
|
||||||
|
if (!__print_once) { \
|
||||||
|
__print_once = true; \
|
||||||
|
DRM_DEV_INFO(dev, fmt, ##__VA_ARGS__); \
|
||||||
|
} \
|
||||||
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Debug output.
|
||||||
|
*
|
||||||
|
* @dev: device pointer
|
||||||
|
* @fmt: printf() like format string.
|
||||||
|
*/
|
||||||
|
#define DRM_DEV_DEBUG(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_DRIVER(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_KMS(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_PRIME(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_ATOMIC(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_VBL(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_DP(dev, fmt, ...) \
|
||||||
|
drm_dev_dbg(dev, DRM_UT_DP, fmt, ## __VA_ARGS__)
|
||||||
|
|
||||||
|
#define _DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, category, fmt, ...) \
|
||||||
|
({ \
|
||||||
|
static DEFINE_RATELIMIT_STATE(_rs, \
|
||||||
|
DEFAULT_RATELIMIT_INTERVAL, \
|
||||||
|
DEFAULT_RATELIMIT_BURST); \
|
||||||
|
if (__ratelimit(&_rs)) \
|
||||||
|
drm_dev_dbg(dev, category, fmt, ##__VA_ARGS__); \
|
||||||
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rate limited debug output. Like DRM_DEBUG() but won't flood the log.
|
||||||
|
*
|
||||||
|
* @dev: device pointer
|
||||||
|
* @fmt: printf() like format string.
|
||||||
|
*/
|
||||||
|
#define DRM_DEV_DEBUG_RATELIMITED(dev, fmt, ...) \
|
||||||
|
_DEV_DRM_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_CORE, \
|
||||||
|
fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_DRIVER_RATELIMITED(dev, fmt, ...) \
|
||||||
|
_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_DRIVER, \
|
||||||
|
fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_KMS_RATELIMITED(dev, fmt, ...) \
|
||||||
|
_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_KMS, \
|
||||||
|
fmt, ##__VA_ARGS__)
|
||||||
|
#define DRM_DEV_DEBUG_PRIME_RATELIMITED(dev, fmt, ...) \
|
||||||
|
_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_PRIME, \
|
||||||
|
fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* printk based logging
|
||||||
|
*/
|
||||||
|
|
||||||
__printf(2, 3)
|
__printf(2, 3)
|
||||||
void __drm_dbg(enum drm_debug_category category, const char *format, ...);
|
void __drm_dbg(enum drm_debug_category category, const char *format, ...);
|
||||||
__printf(1, 2)
|
__printf(1, 2)
|
||||||
|
@ -351,127 +445,46 @@ void __drm_err(const char *format, ...);
|
||||||
#define DRM_WARN_ONCE(fmt, ...) \
|
#define DRM_WARN_ONCE(fmt, ...) \
|
||||||
_DRM_PRINTK(_once, WARNING, fmt, ##__VA_ARGS__)
|
_DRM_PRINTK(_once, WARNING, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
/**
|
|
||||||
* Error output.
|
|
||||||
*
|
|
||||||
* @dev: device pointer
|
|
||||||
* @fmt: printf() like format string.
|
|
||||||
*/
|
|
||||||
#define DRM_DEV_ERROR(dev, fmt, ...) \
|
|
||||||
drm_dev_printk(dev, KERN_ERR, "*ERROR* " fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_ERROR(fmt, ...) \
|
#define DRM_ERROR(fmt, ...) \
|
||||||
__drm_err(fmt, ##__VA_ARGS__)
|
__drm_err(fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
/**
|
|
||||||
* Rate limited error output. Like DRM_ERROR() but won't flood the log.
|
|
||||||
*
|
|
||||||
* @dev: device pointer
|
|
||||||
* @fmt: printf() like format string.
|
|
||||||
*/
|
|
||||||
#define DRM_DEV_ERROR_RATELIMITED(dev, fmt, ...) \
|
|
||||||
({ \
|
|
||||||
static DEFINE_RATELIMIT_STATE(_rs, \
|
|
||||||
DEFAULT_RATELIMIT_INTERVAL, \
|
|
||||||
DEFAULT_RATELIMIT_BURST); \
|
|
||||||
\
|
|
||||||
if (__ratelimit(&_rs)) \
|
|
||||||
DRM_DEV_ERROR(dev, fmt, ##__VA_ARGS__); \
|
|
||||||
})
|
|
||||||
#define DRM_ERROR_RATELIMITED(fmt, ...) \
|
#define DRM_ERROR_RATELIMITED(fmt, ...) \
|
||||||
DRM_DEV_ERROR_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
DRM_DEV_ERROR_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_INFO(dev, fmt, ...) \
|
|
||||||
drm_dev_printk(dev, KERN_INFO, fmt, ##__VA_ARGS__)
|
|
||||||
|
|
||||||
#define DRM_DEV_INFO_ONCE(dev, fmt, ...) \
|
|
||||||
({ \
|
|
||||||
static bool __print_once __read_mostly; \
|
|
||||||
if (!__print_once) { \
|
|
||||||
__print_once = true; \
|
|
||||||
DRM_DEV_INFO(dev, fmt, ##__VA_ARGS__); \
|
|
||||||
} \
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Debug output.
|
|
||||||
*
|
|
||||||
* @dev: device pointer
|
|
||||||
* @fmt: printf() like format string.
|
|
||||||
*/
|
|
||||||
#define DRM_DEV_DEBUG(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_CORE, fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG(fmt, ...) \
|
#define DRM_DEBUG(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_CORE, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_DRIVER(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_DRIVER(fmt, ...) \
|
#define DRM_DEBUG_DRIVER(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_KMS(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_KMS, fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_KMS(fmt, ...) \
|
#define DRM_DEBUG_KMS(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_PRIME(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_PRIME(fmt, ...) \
|
#define DRM_DEBUG_PRIME(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_PRIME, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_PRIME, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_ATOMIC(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_ATOMIC(fmt, ...) \
|
#define DRM_DEBUG_ATOMIC(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_ATOMIC, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_VBL(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_VBL, fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_VBL(fmt, ...) \
|
#define DRM_DEBUG_VBL(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEBUG_LEASE(fmt, ...) \
|
#define DRM_DEBUG_LEASE(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_LEASE, fmt, ##__VA_ARGS__)
|
__drm_dbg(DRM_UT_LEASE, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_DP(dev, fmt, ...) \
|
|
||||||
drm_dev_dbg(dev, DRM_UT_DP, fmt, ## __VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_DP(fmt, ...) \
|
#define DRM_DEBUG_DP(fmt, ...) \
|
||||||
__drm_dbg(DRM_UT_DP, fmt, ## __VA_ARGS__)
|
__drm_dbg(DRM_UT_DP, fmt, ## __VA_ARGS__)
|
||||||
|
|
||||||
#define _DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, category, fmt, ...) \
|
|
||||||
({ \
|
|
||||||
static DEFINE_RATELIMIT_STATE(_rs, \
|
|
||||||
DEFAULT_RATELIMIT_INTERVAL, \
|
|
||||||
DEFAULT_RATELIMIT_BURST); \
|
|
||||||
if (__ratelimit(&_rs)) \
|
|
||||||
drm_dev_dbg(dev, category, fmt, ##__VA_ARGS__); \
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Rate limited debug output. Like DRM_DEBUG() but won't flood the log.
|
|
||||||
*
|
|
||||||
* @dev: device pointer
|
|
||||||
* @fmt: printf() like format string.
|
|
||||||
*/
|
|
||||||
#define DRM_DEV_DEBUG_RATELIMITED(dev, fmt, ...) \
|
|
||||||
_DEV_DRM_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_CORE, \
|
|
||||||
fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_RATELIMITED(fmt, ...) \
|
#define DRM_DEBUG_RATELIMITED(fmt, ...) \
|
||||||
DRM_DEV_DEBUG_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
DRM_DEV_DEBUG_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_DRIVER_RATELIMITED(dev, fmt, ...) \
|
|
||||||
_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_DRIVER, \
|
|
||||||
fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_DRIVER_RATELIMITED(fmt, ...) \
|
#define DRM_DEBUG_DRIVER_RATELIMITED(fmt, ...) \
|
||||||
DRM_DEV_DEBUG_DRIVER_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
DRM_DEV_DEBUG_DRIVER_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_KMS_RATELIMITED(dev, fmt, ...) \
|
|
||||||
_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_KMS, \
|
|
||||||
fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_KMS_RATELIMITED(fmt, ...) \
|
#define DRM_DEBUG_KMS_RATELIMITED(fmt, ...) \
|
||||||
DRM_DEV_DEBUG_KMS_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
DRM_DEV_DEBUG_KMS_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
#define DRM_DEV_DEBUG_PRIME_RATELIMITED(dev, fmt, ...) \
|
|
||||||
_DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, DRM_UT_PRIME, \
|
|
||||||
fmt, ##__VA_ARGS__)
|
|
||||||
#define DRM_DEBUG_PRIME_RATELIMITED(fmt, ...) \
|
#define DRM_DEBUG_PRIME_RATELIMITED(fmt, ...) \
|
||||||
DRM_DEV_DEBUG_PRIME_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
DRM_DEV_DEBUG_PRIME_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче