1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2023 Intel Corporation
4 */
5
6#ifndef __INTEL_GT_PRINT__
7#define __INTEL_GT_PRINT__
8
9#include <drm/drm_print.h>
10#include "intel_gt_types.h"
11#include "i915_utils.h"
12
13#define gt_err(_gt, _fmt, ...) \
14	drm_err(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
15
16#define gt_warn(_gt, _fmt, ...) \
17	drm_warn(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
18
19#define gt_warn_once(_gt, _fmt, ...) \
20	drm_warn_once(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
21
22#define gt_notice(_gt, _fmt, ...) \
23	drm_notice(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
24
25#define gt_info(_gt, _fmt, ...) \
26	drm_info(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
27
28#define gt_dbg(_gt, _fmt, ...) \
29	drm_dbg(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
30
31#define gt_err_ratelimited(_gt, _fmt, ...) \
32	drm_err_ratelimited(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
33
34#define gt_notice_ratelimited(_gt, _fmt, ...) \
35	dev_notice_ratelimited((_gt)->i915->drm.dev, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
36
37#define gt_probe_error(_gt, _fmt, ...) \
38	do { \
39		if (i915_error_injected()) \
40			gt_dbg(_gt, _fmt, ##__VA_ARGS__); \
41		else \
42			gt_err(_gt, _fmt, ##__VA_ARGS__); \
43	} while (0)
44
45#define gt_WARN(_gt, _condition, _fmt, ...) \
46	drm_WARN(&(_gt)->i915->drm, _condition, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
47
48#define gt_WARN_ONCE(_gt, _condition, _fmt, ...) \
49	drm_WARN_ONCE(&(_gt)->i915->drm, _condition, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
50
51#define gt_WARN_ON(_gt, _condition) \
52	gt_WARN(_gt, _condition, "%s", "gt_WARN_ON(" __stringify(_condition) ")")
53
54#define gt_WARN_ON_ONCE(_gt, _condition) \
55	gt_WARN_ONCE(_gt, _condition, "%s", "gt_WARN_ONCE(" __stringify(_condition) ")")
56
57#endif /* __INTEL_GT_PRINT_H__ */
58