hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c
....@@ -33,6 +33,11 @@
3333
3434 return single_open(file, show, NULL);
3535 }
36
+static int kfd_debugfs_hang_hws_read(struct seq_file *m, void *data)
37
+{
38
+ seq_printf(m, "echo gpu_id > hang_hws\n");
39
+ return 0;
40
+}
3641
3742 static ssize_t kfd_debugfs_hang_hws_write(struct file *file,
3843 const char __user *user_buf, size_t size, loff_t *ppos)
....@@ -85,36 +90,16 @@
8590
8691 void kfd_debugfs_init(void)
8792 {
88
- struct dentry *ent;
89
-
9093 debugfs_root = debugfs_create_dir("kfd", NULL);
91
- if (!debugfs_root || debugfs_root == ERR_PTR(-ENODEV)) {
92
- pr_warn("Failed to create kfd debugfs dir\n");
93
- return;
94
- }
9594
96
- ent = debugfs_create_file("mqds", S_IFREG | 0444, debugfs_root,
97
- kfd_debugfs_mqds_by_process,
98
- &kfd_debugfs_fops);
99
- if (!ent)
100
- pr_warn("Failed to create mqds in kfd debugfs\n");
101
-
102
- ent = debugfs_create_file("hqds", S_IFREG | 0444, debugfs_root,
103
- kfd_debugfs_hqds_by_device,
104
- &kfd_debugfs_fops);
105
- if (!ent)
106
- pr_warn("Failed to create hqds in kfd debugfs\n");
107
-
108
- ent = debugfs_create_file("rls", S_IFREG | 0444, debugfs_root,
109
- kfd_debugfs_rls_by_device,
110
- &kfd_debugfs_fops);
111
-
112
- ent = debugfs_create_file("hang_hws", S_IFREG | 0644, debugfs_root,
113
- NULL,
114
- &kfd_debugfs_hang_hws_fops);
115
-
116
- if (!ent)
117
- pr_warn("Failed to create rls in kfd debugfs\n");
95
+ debugfs_create_file("mqds", S_IFREG | 0444, debugfs_root,
96
+ kfd_debugfs_mqds_by_process, &kfd_debugfs_fops);
97
+ debugfs_create_file("hqds", S_IFREG | 0444, debugfs_root,
98
+ kfd_debugfs_hqds_by_device, &kfd_debugfs_fops);
99
+ debugfs_create_file("rls", S_IFREG | 0444, debugfs_root,
100
+ kfd_debugfs_rls_by_device, &kfd_debugfs_fops);
101
+ debugfs_create_file("hang_hws", S_IFREG | 0200, debugfs_root,
102
+ kfd_debugfs_hang_hws_read, &kfd_debugfs_hang_hws_fops);
118103 }
119104
120105 void kfd_debugfs_fini(void)