brintos

brintos / linux-shallow public Read only

0
0
Text · 1.7 KiB · f3ddcbe Raw
73 lines · c
1// SPDX-License-Identifier: MIT2/*3 * Copyright © 2023-2024 Intel Corporation4 */5 6#include <linux/debugfs.h>7 8#include <drm/drm_debugfs.h>9 10#include "xe_gt_debugfs.h"11#include "xe_gt_sriov_vf.h"12#include "xe_gt_sriov_vf_debugfs.h"13#include "xe_gt_types.h"14#include "xe_sriov.h"15 16/*17 *      /sys/kernel/debug/dri/0/18 *      ├── gt019 *      │   ├── vf20 *      │   │   ├── self_config21 *      │   │   ├── abi_versions22 *      │   │   ├── runtime_regs23 */24 25static const struct drm_info_list vf_info[] = {26	{27		"self_config",28		.show = xe_gt_debugfs_simple_show,29		.data = xe_gt_sriov_vf_print_config,30	},31	{32		"abi_versions",33		.show = xe_gt_debugfs_simple_show,34		.data = xe_gt_sriov_vf_print_version,35	},36#if defined(CONFIG_DRM_XE_DEBUG) || defined(CONFIG_DRM_XE_DEBUG_SRIOV)37	{38		"runtime_regs",39		.show = xe_gt_debugfs_simple_show,40		.data = xe_gt_sriov_vf_print_runtime,41	},42#endif43};44 45/**46 * xe_gt_sriov_vf_debugfs_register - Register SR-IOV VF specific entries in GT debugfs.47 * @gt: the &xe_gt to register48 * @root: the &dentry that represents the GT directory49 *50 * Register SR-IOV VF entries that are GT related and must be shown under GT debugfs.51 */52void xe_gt_sriov_vf_debugfs_register(struct xe_gt *gt, struct dentry *root)53{54	struct xe_device *xe = gt_to_xe(gt);55	struct drm_minor *minor = xe->drm.primary;56	struct dentry *vfdentry;57 58	xe_assert(xe, IS_SRIOV_VF(xe));59	xe_assert(xe, root->d_inode->i_private == gt);60 61	/*62	 *      /sys/kernel/debug/dri/0/63	 *      ├── gt064	 *      │   ├── vf65	 */66	vfdentry = debugfs_create_dir("vf", root);67	if (IS_ERR(vfdentry))68		return;69	vfdentry->d_inode->i_private = gt;70 71	drm_debugfs_create_files(vf_info, ARRAY_SIZE(vf_info), vfdentry, minor);72}73