60 lines
1.2 KiB
C
60 lines
1.2 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);
|
|
ssize_t (*write)(char *buf, size_t count, void *data);
|
|
void *data;
|
|
};
|
|
|
|
struct hns_sw_stat_debugfs {
|
|
struct dentry *root;
|
|
struct hns_debugfs_seqfile sw_stat;
|
|
};
|
|
|
|
struct hns_roce_cc_param_attr {
|
|
const char *name;
|
|
int algo_type;
|
|
u32 offset;
|
|
u32 size;
|
|
u32 max;
|
|
u32 min;
|
|
};
|
|
|
|
struct hns_cc_param_seqfile {
|
|
struct hns_debugfs_seqfile seqfile;
|
|
const struct hns_roce_cc_param_attr *param_attr;
|
|
int index;
|
|
};
|
|
|
|
#define HNS_ROCE_CC_PARAM_MAX_NUM 11
|
|
|
|
struct hns_cc_param_debugfs {
|
|
struct dentry *root;
|
|
struct hns_cc_param_seqfile params[HNS_ROCE_CC_PARAM_MAX_NUM];
|
|
};
|
|
|
|
#define CONG_TYPE_MAX_NUM 4
|
|
|
|
/* Debugfs for device */
|
|
struct hns_roce_dev_debugfs {
|
|
struct dentry *root;
|
|
struct hns_sw_stat_debugfs sw_stat_root;
|
|
struct hns_cc_param_debugfs cc_param_root[CONG_TYPE_MAX_NUM];
|
|
};
|
|
|
|
struct hns_roce_dev;
|
|
|
|
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);
|
|
|
|
#endif
|