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