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