drm/xe: Add tile-based SRIOV printk macros

We already have device and GT level SR-IOV specific macros, but
unlike native case, we don't have yet tile-based ones.

Add macros to match native use case and also update GT-based
macros to rely on those new tile-based SR-IOV macros. This will
slightly rearrange the output of the GT logs and instead:

  [...] Tile0: GT0: PF: pushed VF1 config with 2 KLVs...

we might see:

  [...] PF: Tile0: GT0: pushed VF1 config with 2 KLVs...

but that's even better.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Link: https://lore.kernel.org/r/20251005133641.2651-3-michal.wajdeczko@intel.com
This commit is contained in:
Michal Wajdeczko
2025-10-05 15:36:38 +02:00
parent c95f180207
commit c66e4b6cae
2 changed files with 38 additions and 2 deletions

View File

@@ -7,10 +7,13 @@
#define _XE_GT_SRIOV_PRINTK_H_
#include "xe_gt_printk.h"
#include "xe_sriov_printk.h"
#include "xe_tile_sriov_printk.h"
#define __XE_GT_SRIOV_PRINTK_FMT(_gt, _fmt, ...) \
__XE_TILE_SRIOV_PRINTK_FMT((_gt)->tile, __XE_GT_PRINTK_FMT((_gt), _fmt, ##__VA_ARGS__))
#define __xe_gt_sriov_printk(gt, _level, fmt, ...) \
xe_gt_printk((gt), _level, "%s" fmt, xe_sriov_printk_prefix(gt_to_xe(gt)), ##__VA_ARGS__)
xe_sriov_##_level(gt_to_xe(gt), __XE_GT_SRIOV_PRINTK_FMT((gt), fmt, ##__VA_ARGS__))
#define xe_gt_sriov_err(_gt, _fmt, ...) \
__xe_gt_sriov_printk(_gt, err, _fmt, ##__VA_ARGS__)

View File

@@ -0,0 +1,33 @@
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2025 Intel Corporation
*/
#ifndef _XE_TILE_SRIOV_PRINTK_H_
#define _XE_TILE_SRIOV_PRINTK_H_
#include "xe_tile_printk.h"
#include "xe_sriov_printk.h"
#define __XE_TILE_SRIOV_PRINTK_FMT(_tile, _fmt, ...) \
__XE_TILE_PRINTK_FMT((_tile), _fmt, ##__VA_ARGS__)
#define xe_tile_sriov_printk(_tile, _level, _fmt, ...) \
xe_sriov_##_level((_tile)->xe, __XE_TILE_SRIOV_PRINTK_FMT((_tile), _fmt, ##__VA_ARGS__))
#define xe_tile_sriov_err(_tile, _fmt, ...) \
xe_tile_sriov_printk(_tile, err, _fmt, ##__VA_ARGS__)
#define xe_tile_sriov_notice(_tile, _fmt, ...) \
xe_tile_sriov_printk(_tile, notice, _fmt, ##__VA_ARGS__)
#define xe_tile_sriov_info(_tile, _fmt, ...) \
xe_tile_sriov_printk(_tile, info, _fmt, ##__VA_ARGS__)
#define xe_tile_sriov_dbg(_tile, _fmt, ...) \
xe_tile_sriov_printk(_tile, dbg, _fmt, ##__VA_ARGS__)
#define xe_tile_sriov_dbg_verbose(_tile, _fmt, ...) \
xe_tile_sriov_printk(_tile, dbg_verbose, _fmt, ##__VA_ARGS__)
#endif