1*4882a593Smuzhiyun // SPDX-License-Identifier: MIT
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun /*
4*4882a593Smuzhiyun * Copyright © 2019 Intel Corporation
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun #include <linux/debugfs.h>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun #include "debugfs_engines.h"
10*4882a593Smuzhiyun #include "debugfs_gt.h"
11*4882a593Smuzhiyun #include "debugfs_gt_pm.h"
12*4882a593Smuzhiyun #include "intel_sseu_debugfs.h"
13*4882a593Smuzhiyun #include "uc/intel_uc_debugfs.h"
14*4882a593Smuzhiyun #include "i915_drv.h"
15*4882a593Smuzhiyun
debugfs_gt_register(struct intel_gt * gt)16*4882a593Smuzhiyun void debugfs_gt_register(struct intel_gt *gt)
17*4882a593Smuzhiyun {
18*4882a593Smuzhiyun struct dentry *root;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun if (!gt->i915->drm.primary->debugfs_root)
21*4882a593Smuzhiyun return;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun root = debugfs_create_dir("gt", gt->i915->drm.primary->debugfs_root);
24*4882a593Smuzhiyun if (IS_ERR(root))
25*4882a593Smuzhiyun return;
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun debugfs_engines_register(gt, root);
28*4882a593Smuzhiyun debugfs_gt_pm_register(gt, root);
29*4882a593Smuzhiyun intel_sseu_debugfs_register(gt, root);
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun intel_uc_debugfs_register(>->uc, root);
32*4882a593Smuzhiyun }
33*4882a593Smuzhiyun
intel_gt_debugfs_register_files(struct dentry * root,const struct debugfs_gt_file * files,unsigned long count,void * data)34*4882a593Smuzhiyun void intel_gt_debugfs_register_files(struct dentry *root,
35*4882a593Smuzhiyun const struct debugfs_gt_file *files,
36*4882a593Smuzhiyun unsigned long count, void *data)
37*4882a593Smuzhiyun {
38*4882a593Smuzhiyun while (count--) {
39*4882a593Smuzhiyun umode_t mode = files->fops->write ? 0644 : 0444;
40*4882a593Smuzhiyun if (!files->eval || files->eval(data))
41*4882a593Smuzhiyun debugfs_create_file(files->name,
42*4882a593Smuzhiyun mode, root, data,
43*4882a593Smuzhiyun files->fops);
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun files++;
46*4882a593Smuzhiyun }
47*4882a593Smuzhiyun }
48