|
|
|
@@ -324,11 +324,9 @@ static int info_show(struct seq_file *s, void *unused)
|
|
|
|
|
|
|
|
|
|
DEFINE_SHOW_ATTRIBUTE(info);
|
|
|
|
|
|
|
|
|
|
int genwqe_init_debugfs(struct genwqe_dev *cd)
|
|
|
|
|
void genwqe_init_debugfs(struct genwqe_dev *cd)
|
|
|
|
|
{
|
|
|
|
|
struct dentry *root;
|
|
|
|
|
struct dentry *file;
|
|
|
|
|
int ret;
|
|
|
|
|
char card_name[64];
|
|
|
|
|
char name[64];
|
|
|
|
|
unsigned int i;
|
|
|
|
@@ -336,153 +334,50 @@ int genwqe_init_debugfs(struct genwqe_dev *cd)
|
|
|
|
|
sprintf(card_name, "%s%d_card", GENWQE_DEVNAME, cd->card_idx);
|
|
|
|
|
|
|
|
|
|
root = debugfs_create_dir(card_name, cd->debugfs_genwqe);
|
|
|
|
|
if (!root) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* non privileged interfaces are done here */
|
|
|
|
|
file = debugfs_create_file("ddcb_info", S_IRUGO, root, cd,
|
|
|
|
|
&ddcb_info_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("info", S_IRUGO, root, cd,
|
|
|
|
|
&info_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_x64("err_inject", 0666, root, &cd->err_inject);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_u32("ddcb_software_timeout", 0666, root,
|
|
|
|
|
&cd->ddcb_software_timeout);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_u32("kill_timeout", 0666, root,
|
|
|
|
|
&cd->kill_timeout);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
debugfs_create_file("ddcb_info", S_IRUGO, root, cd, &ddcb_info_fops);
|
|
|
|
|
debugfs_create_file("info", S_IRUGO, root, cd, &info_fops);
|
|
|
|
|
debugfs_create_x64("err_inject", 0666, root, &cd->err_inject);
|
|
|
|
|
debugfs_create_u32("ddcb_software_timeout", 0666, root,
|
|
|
|
|
&cd->ddcb_software_timeout);
|
|
|
|
|
debugfs_create_u32("kill_timeout", 0666, root, &cd->kill_timeout);
|
|
|
|
|
|
|
|
|
|
/* privileged interfaces follow here */
|
|
|
|
|
if (!genwqe_is_privileged(cd)) {
|
|
|
|
|
cd->debugfs_root = root;
|
|
|
|
|
return 0;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("curr_regs", S_IRUGO, root, cd,
|
|
|
|
|
&curr_regs_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("curr_dbg_uid0", S_IRUGO, root, cd,
|
|
|
|
|
&curr_dbg_uid0_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("curr_dbg_uid1", S_IRUGO, root, cd,
|
|
|
|
|
&curr_dbg_uid1_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("curr_dbg_uid2", S_IRUGO, root, cd,
|
|
|
|
|
&curr_dbg_uid2_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("prev_regs", S_IRUGO, root, cd,
|
|
|
|
|
&prev_regs_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("prev_dbg_uid0", S_IRUGO, root, cd,
|
|
|
|
|
&prev_dbg_uid0_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("prev_dbg_uid1", S_IRUGO, root, cd,
|
|
|
|
|
&prev_dbg_uid1_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("prev_dbg_uid2", S_IRUGO, root, cd,
|
|
|
|
|
&prev_dbg_uid2_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
debugfs_create_file("curr_regs", S_IRUGO, root, cd, &curr_regs_fops);
|
|
|
|
|
debugfs_create_file("curr_dbg_uid0", S_IRUGO, root, cd,
|
|
|
|
|
&curr_dbg_uid0_fops);
|
|
|
|
|
debugfs_create_file("curr_dbg_uid1", S_IRUGO, root, cd,
|
|
|
|
|
&curr_dbg_uid1_fops);
|
|
|
|
|
debugfs_create_file("curr_dbg_uid2", S_IRUGO, root, cd,
|
|
|
|
|
&curr_dbg_uid2_fops);
|
|
|
|
|
debugfs_create_file("prev_regs", S_IRUGO, root, cd, &prev_regs_fops);
|
|
|
|
|
debugfs_create_file("prev_dbg_uid0", S_IRUGO, root, cd,
|
|
|
|
|
&prev_dbg_uid0_fops);
|
|
|
|
|
debugfs_create_file("prev_dbg_uid1", S_IRUGO, root, cd,
|
|
|
|
|
&prev_dbg_uid1_fops);
|
|
|
|
|
debugfs_create_file("prev_dbg_uid2", S_IRUGO, root, cd,
|
|
|
|
|
&prev_dbg_uid2_fops);
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < GENWQE_MAX_VFS; i++) {
|
|
|
|
|
sprintf(name, "vf%u_jobtimeout_msec", i);
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_u32(name, 0666, root,
|
|
|
|
|
&cd->vf_jobtimeout_msec[i]);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
debugfs_create_u32(name, 0666, root,
|
|
|
|
|
&cd->vf_jobtimeout_msec[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("jobtimer", S_IRUGO, root, cd,
|
|
|
|
|
&jtimer_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_file("queue_working_time", S_IRUGO, root, cd,
|
|
|
|
|
&queue_working_time_fops);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_u32("skip_recovery", 0666, root,
|
|
|
|
|
&cd->skip_recovery);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file = debugfs_create_u32("use_platform_recovery", 0666, root,
|
|
|
|
|
&cd->use_platform_recovery);
|
|
|
|
|
if (!file) {
|
|
|
|
|
ret = -ENOMEM;
|
|
|
|
|
goto err1;
|
|
|
|
|
}
|
|
|
|
|
debugfs_create_file("jobtimer", S_IRUGO, root, cd, &jtimer_fops);
|
|
|
|
|
debugfs_create_file("queue_working_time", S_IRUGO, root, cd,
|
|
|
|
|
&queue_working_time_fops);
|
|
|
|
|
debugfs_create_u32("skip_recovery", 0666, root, &cd->skip_recovery);
|
|
|
|
|
debugfs_create_u32("use_platform_recovery", 0666, root,
|
|
|
|
|
&cd->use_platform_recovery);
|
|
|
|
|
|
|
|
|
|
cd->debugfs_root = root;
|
|
|
|
|
return 0;
|
|
|
|
|
err1:
|
|
|
|
|
debugfs_remove_recursive(root);
|
|
|
|
|
err0:
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void genqwe_exit_debugfs(struct genwqe_dev *cd)
|
|
|
|
|