#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/debugfs.h>
#include "mvpp2.h"
#include "mvpp2_prs.h"
#include "mvpp2_cls.h"
struct mvpp2_dbgfs_prs_entry { … };
struct mvpp2_dbgfs_c2_entry { … };
struct mvpp2_dbgfs_flow_entry { … };
struct mvpp2_dbgfs_flow_tbl_entry { … };
struct mvpp2_dbgfs_port_flow_entry { … };
struct mvpp2_dbgfs_entries { … };
static int mvpp2_dbgfs_flow_flt_hits_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_dec_hits_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_type_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_id_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_port_flow_hash_opt_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_port_flow_engine_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_c2_hits_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_c2_rxq_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_c2_enable_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_port_vid_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_port_parser_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_filter_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_lu_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_pmap_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_ai_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_hdata_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_sram_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_hits_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_prs_valid_show(struct seq_file *s, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static int mvpp2_dbgfs_flow_port_init(struct dentry *parent,
struct mvpp2_port *port,
struct mvpp2_dbgfs_flow_entry *entry)
{ … }
static int mvpp2_dbgfs_flow_entry_init(struct dentry *parent,
struct mvpp2 *priv, int flow)
{ … }
static int mvpp2_dbgfs_flow_init(struct dentry *parent, struct mvpp2 *priv)
{ … }
static int mvpp2_dbgfs_prs_entry_init(struct dentry *parent,
struct mvpp2 *priv, int tid)
{ … }
static int mvpp2_dbgfs_prs_init(struct dentry *parent, struct mvpp2 *priv)
{ … }
static int mvpp2_dbgfs_c2_entry_init(struct dentry *parent,
struct mvpp2 *priv, int id)
{ … }
static int mvpp2_dbgfs_flow_tbl_entry_init(struct dentry *parent,
struct mvpp2 *priv, int id)
{ … }
static int mvpp2_dbgfs_cls_init(struct dentry *parent, struct mvpp2 *priv)
{ … }
static int mvpp2_dbgfs_port_init(struct dentry *parent,
struct mvpp2_port *port)
{ … }
static struct dentry *mvpp2_root;
void mvpp2_dbgfs_exit(void)
{ … }
void mvpp2_dbgfs_cleanup(struct mvpp2 *priv)
{ … }
void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name)
{ … }