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_notice(_gt, _fmt, ...) \
20 	drm_notice(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
21 
22 #define gt_info(_gt, _fmt, ...) \
23 	drm_info(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
24 
25 #define gt_dbg(_gt, _fmt, ...) \
26 	drm_dbg(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
27 
28 #define gt_err_ratelimited(_gt, _fmt, ...) \
29 	drm_err_ratelimited(&(_gt)->i915->drm, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
30 
31 #define gt_probe_error(_gt, _fmt, ...) \
32 	do { \
33 		if (i915_error_injected()) \
34 			gt_dbg(_gt, _fmt, ##__VA_ARGS__); \
35 		else \
36 			gt_err(_gt, _fmt, ##__VA_ARGS__); \
37 	} while (0)
38 
39 #define gt_WARN(_gt, _condition, _fmt, ...) \
40 	drm_WARN(&(_gt)->i915->drm, _condition, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
41 
42 #define gt_WARN_ONCE(_gt, _condition, _fmt, ...) \
43 	drm_WARN_ONCE(&(_gt)->i915->drm, _condition, "GT%u: " _fmt, (_gt)->info.id, ##__VA_ARGS__)
44 
45 #define gt_WARN_ON(_gt, _condition) \
46 	gt_WARN(_gt, _condition, "%s", "gt_WARN_ON(" __stringify(_condition) ")")
47 
48 #define gt_WARN_ON_ONCE(_gt, _condition) \
49 	gt_WARN_ONCE(_gt, _condition, "%s", "gt_WARN_ONCE(" __stringify(_condition) ")")
50 
51 #endif /* __INTEL_GT_PRINT_H__ */
52