xref: /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/gt/debugfs_gt.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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(&gt->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