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