#include <linux/debugfs.h>
#include <linux/kernel.h>
#include <linux/seq_file.h>
#include <linux/version.h>
#include "dr_types.h"
#define DR_DBG_PTR_TO_ID(p) …
enum dr_dump_rec_type { … };
static struct mlx5dr_dbg_dump_buff *
mlx5dr_dbg_dump_data_init_new_buff(struct mlx5dr_dbg_dump_data *dump_data)
{ … }
static struct mlx5dr_dbg_dump_data *
mlx5dr_dbg_create_dump_data(void)
{ … }
static void
mlx5dr_dbg_destroy_dump_data(struct mlx5dr_dbg_dump_data *dump_data)
{ … }
static int
mlx5dr_dbg_dump_data_print(struct seq_file *file, char *str, u32 size)
{ … }
void mlx5dr_dbg_tbl_add(struct mlx5dr_table *tbl)
{ … }
void mlx5dr_dbg_tbl_del(struct mlx5dr_table *tbl)
{ … }
void mlx5dr_dbg_rule_add(struct mlx5dr_rule *rule)
{ … }
void mlx5dr_dbg_rule_del(struct mlx5dr_rule *rule)
{ … }
static u64 dr_dump_icm_to_idx(u64 icm_addr)
{ … }
#define DR_HEX_SIZE …
static void
dr_dump_hex_print(char hex[DR_HEX_SIZE], char *src, u32 size)
{ … }
static int
dr_dump_rule_action_mem(struct seq_file *file, char *buff, const u64 rule_id,
struct mlx5dr_rule_action_member *action_mem)
{ … }
static int
dr_dump_rule_mem(struct seq_file *file, char *buff, struct mlx5dr_ste *ste,
bool is_rx, const u64 rule_id, u8 format_ver)
{ … }
static int
dr_dump_rule_rx_tx(struct seq_file *file, char *buff,
struct mlx5dr_rule_rx_tx *rule_rx_tx,
bool is_rx, const u64 rule_id, u8 format_ver)
{ … }
static noinline_for_stack int
dr_dump_rule(struct seq_file *file, struct mlx5dr_rule *rule)
{ … }
static int
dr_dump_matcher_mask(struct seq_file *file, char *buff,
struct mlx5dr_match_param *mask,
u8 criteria, const u64 matcher_id)
{ … }
static int
dr_dump_matcher_builder(struct seq_file *file, char *buff,
struct mlx5dr_ste_build *builder,
u32 index, bool is_rx, const u64 matcher_id)
{ … }
static int
dr_dump_matcher_rx_tx(struct seq_file *file, char *buff, bool is_rx,
struct mlx5dr_matcher_rx_tx *matcher_rx_tx,
const u64 matcher_id)
{ … }
static noinline_for_stack int
dr_dump_matcher(struct seq_file *file, struct mlx5dr_matcher *matcher)
{ … }
static int
dr_dump_matcher_all(struct seq_file *file, struct mlx5dr_matcher *matcher)
{ … }
static int
dr_dump_table_rx_tx(struct seq_file *file, char *buff, bool is_rx,
struct mlx5dr_table_rx_tx *table_rx_tx,
const u64 table_id)
{ … }
static noinline_for_stack int
dr_dump_table(struct seq_file *file, struct mlx5dr_table *table)
{ … }
static int dr_dump_table_all(struct seq_file *file, struct mlx5dr_table *tbl)
{ … }
static int
dr_dump_send_ring(struct seq_file *file, char *buff,
struct mlx5dr_send_ring *ring,
const u64 domain_id)
{ … }
static int
dr_dump_domain_info_flex_parser(struct seq_file *file,
char *buff,
const char *flex_parser_name,
const u8 flex_parser_value,
const u64 domain_id)
{ … }
static int
dr_dump_domain_info_caps(struct seq_file *file, char *buff,
struct mlx5dr_cmd_caps *caps,
const u64 domain_id)
{ … }
static int
dr_dump_domain_info(struct seq_file *file, char *buff,
struct mlx5dr_domain_info *info,
const u64 domain_id)
{ … }
static noinline_for_stack int
dr_dump_domain(struct seq_file *file, struct mlx5dr_domain *dmn)
{ … }
static int dr_dump_domain_all(struct seq_file *file, struct mlx5dr_domain *dmn)
{ … }
static void *
dr_dump_start(struct seq_file *file, loff_t *pos)
{ … }
static void *
dr_dump_next(struct seq_file *file, void *v, loff_t *pos)
{ … }
static void
dr_dump_stop(struct seq_file *file, void *v)
{ … }
static int
dr_dump_show(struct seq_file *file, void *v)
{ … }
static const struct seq_operations dr_dump_sops = …;
DEFINE_SEQ_ATTRIBUTE(…);
void mlx5dr_dbg_init_dump(struct mlx5dr_domain *dmn)
{ … }
void mlx5dr_dbg_uninit_dump(struct mlx5dr_domain *dmn)
{ … }