2026-01-29 22:25:33 +08:00

53 lines
1.4 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (c) 2023 Hisilicon Limited.
*/
#ifndef __HNS_ROCE_DEBUGFS_H
#define __HNS_ROCE_DEBUGFS_H
/* debugfs seqfile */
struct hns_debugfs_seqfile {
int (*read)(struct seq_file *seq, void *data);
void *data;
};
struct hns_sw_stat_debugfs {
struct dentry *root;
struct hns_debugfs_seqfile sw_stat;
};
/* DCA debugfs */
struct hns_dca_ctx_debugfs {
struct dentry *root; /* pool debugfs entry */
struct hns_debugfs_seqfile mem; /* mems in pool */
struct hns_debugfs_seqfile qp; /* QPs stats in pool */
};
struct hns_dca_debugfs {
struct dentry *root; /* dev debugfs entry */
struct hns_debugfs_seqfile pool; /* pools stats on device */
struct hns_debugfs_seqfile qp; /* QPs stats on device */
struct hns_dca_ctx_debugfs kctx; /* kDCA context */
};
/* Debugfs for device */
struct hns_roce_dev_debugfs {
struct dentry *root;
struct hns_sw_stat_debugfs sw_stat_root;
struct hns_dca_debugfs dca_root;
};
struct hns_roce_dev;
struct hns_roce_ucontext;
void hns_roce_init_debugfs(void);
void hns_roce_cleanup_debugfs(void);
void hns_roce_register_debugfs(struct hns_roce_dev *hr_dev);
void hns_roce_unregister_debugfs(struct hns_roce_dev *hr_dev);
void hns_roce_register_uctx_debugfs(struct hns_roce_dev *hr_dev,
struct hns_roce_ucontext *uctx);
void hns_roce_unregister_uctx_debugfs(struct hns_roce_ucontext *uctx);
#endif