On Thu, 24 Sep 2026, Krzysztof Karas <[email protected]> wrote:
> Add i915_* family of printer macros, following existing example
> of gt_* and xe_* prints.

Frankly, I don't want *any* of this.

The drm_* macros are already a bunch of wrappers around dev_*
macros. IMO this is just too much, just to avoid writing &i915->drm.

(And yes, I dislike what's been done in xe too.)


BR,
Jani.

>
> Suggested-by: Andi Shyti <[email protected]>
> Signed-off-by: Krzysztof Karas <[email protected]>
> ---
>  drivers/gpu/drm/i915/i915_printk.h | 53 ++++++++++++++++++++++++++++++
>  1 file changed, 53 insertions(+)
>  create mode 100644 drivers/gpu/drm/i915/i915_printk.h
>
> diff --git a/drivers/gpu/drm/i915/i915_printk.h 
> b/drivers/gpu/drm/i915/i915_printk.h
> new file mode 100644
> index 000000000000..5bbbe604cae8
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/i915_printk.h
> @@ -0,0 +1,53 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2026 Intel Corporation
> + */
> +
> +#ifndef _I915_PRINTK_H_
> +#define _I915_PRINTK_H_
> +
> +#include <drm/drm_print.h>
> +
> +#define i915_printk(_i915, _level, _fmt, ...) \
> +     drm_##_level(&(_i915)->drm, _fmt, ## __VA_ARGS__)
> +
> +#define i915_err(_i915, _fmt, ...) \
> +     i915_printk((_i915), err, _fmt, ##__VA_ARGS__)
> +
> +#define i915_err_once(_i915, _fmt, ...) \
> +     i915_printk((_i915), err_once, _fmt, ##__VA_ARGS__)
> +
> +#define i915_err_ratelimited(_i915, _fmt, ...) \
> +     i915_printk((_i915), err_ratelimited, _fmt, ##__VA_ARGS__)
> +
> +#define i915_warn(_i915, _fmt, ...) \
> +     i915_printk((_i915), warn, _fmt, ##__VA_ARGS__)
> +
> +#define i915_notice(_i915, _fmt, ...) \
> +     i915_printk((_i915), notice, _fmt, ##__VA_ARGS__)
> +
> +#define i915_info(_i915, _fmt, ...) \
> +     i915_printk((_i915), info, _fmt, ##__VA_ARGS__)
> +
> +#define i915_dbg(_i915, _fmt, ...) \
> +     i915_printk((_i915), dbg, _fmt, ##__VA_ARGS__)
> +
> +#define i915_dbg_ratelimited(_i915, _fmt, ...) \
> +     i915_printk((_i915), dbg_ratelimited, _fmt, ##__VA_ARGS__)
> +
> +#define i915_WARN_type(_i915, _type, _condition, _fmt, ...) \
> +     drm_WARN##_type(&(_i915)->drm, _condition, _fmt, ## __VA_ARGS__)
> +
> +#define i915_WARN(_i915, _condition, _fmt, ...) \
> +     i915_WARN_type((_i915), _condition, __I915_PRINTK_FMT((_i915), _fmt, ## 
> __VA_ARGS__))
> +
> +#define i915_WARN_ONCE(_i915, _condition, _fmt, ...) \
> +     i915_WARN_type((_i915), _ONCE, _condition, __I915_PRINTK_FMT((_i915), 
> _fmt, ## __VA_ARGS__))
> +
> +#define i915_WARN_ON(_i915, _condition) \
> +     i915_WARN((_i915), _condition, "%s(%s)", "WARN_ON", 
> __stringify(_condition))
> +
> +#define i915_WARN_ON_ONCE(_i915, _condition) \
> +     i915_WARN_ONCE((_i915), _condition, "%s(%s)", "WARN_ON_ONCE", 
> __stringify(_condition))
> +
> +#endif

-- 
Jani Nikula, Intel

Reply via email to