#include <linux/bitops.h>
#include <linux/kernel.h>
#include <linux/log2.h>
#include "../nfpcore/nfp_cpp.h"
#include "../nfpcore/nfp_nffw.h"
#include "../nfp_app.h"
#include "../nfp_abi.h"
#include "../nfp_main.h"
#include "../nfp_net.h"
#include "main.h"
#define NFP_NUM_PRIOS_SYM_NAME …
#define NFP_NUM_BANDS_SYM_NAME …
#define NFP_ACT_MASK_SYM_NAME …
#define NFP_RED_SUPPORT_SYM_NAME …
#define NFP_QLVL_SYM_NAME …
#define NFP_QLVL_STRIDE …
#define NFP_QLVL_BLOG_BYTES …
#define NFP_QLVL_BLOG_PKTS …
#define NFP_QLVL_THRS …
#define NFP_QLVL_ACT …
#define NFP_QMSTAT_SYM_NAME …
#define NFP_QMSTAT_STRIDE …
#define NFP_QMSTAT_NON_STO …
#define NFP_QMSTAT_STO …
#define NFP_QMSTAT_DROP …
#define NFP_QMSTAT_ECN …
#define NFP_Q_STAT_SYM_NAME …
#define NFP_Q_STAT_STRIDE …
#define NFP_Q_STAT_PKTS …
#define NFP_Q_STAT_BYTES …
#define NFP_NET_ABM_MBOX_CMD …
#define NFP_NET_ABM_MBOX_RET …
#define NFP_NET_ABM_MBOX_DATALEN …
#define NFP_NET_ABM_MBOX_RESERVED …
#define NFP_NET_ABM_MBOX_DATA …
static int
nfp_abm_ctrl_stat(struct nfp_abm_link *alink, const struct nfp_rtsym *sym,
unsigned int stride, unsigned int offset, unsigned int band,
unsigned int queue, bool is_u64, u64 *res)
{ … }
int __nfp_abm_ctrl_set_q_lvl(struct nfp_abm *abm, unsigned int id, u32 val)
{ … }
int nfp_abm_ctrl_set_q_lvl(struct nfp_abm_link *alink, unsigned int band,
unsigned int queue, u32 val)
{ … }
int __nfp_abm_ctrl_set_q_act(struct nfp_abm *abm, unsigned int id,
enum nfp_abm_q_action act)
{ … }
int nfp_abm_ctrl_set_q_act(struct nfp_abm_link *alink, unsigned int band,
unsigned int queue, enum nfp_abm_q_action act)
{ … }
u64 nfp_abm_ctrl_stat_non_sto(struct nfp_abm_link *alink, unsigned int queue)
{ … }
u64 nfp_abm_ctrl_stat_sto(struct nfp_abm_link *alink, unsigned int queue)
{ … }
static int
nfp_abm_ctrl_stat_basic(struct nfp_abm_link *alink, unsigned int band,
unsigned int queue, unsigned int off, u64 *val)
{ … }
int nfp_abm_ctrl_read_q_stats(struct nfp_abm_link *alink, unsigned int band,
unsigned int queue, struct nfp_alink_stats *stats)
{ … }
int nfp_abm_ctrl_read_q_xstats(struct nfp_abm_link *alink,
unsigned int band, unsigned int queue,
struct nfp_alink_xstats *xstats)
{ … }
int nfp_abm_ctrl_qm_enable(struct nfp_abm *abm)
{ … }
int nfp_abm_ctrl_qm_disable(struct nfp_abm *abm)
{ … }
int nfp_abm_ctrl_prio_map_update(struct nfp_abm_link *alink, u32 *packed)
{ … }
static int nfp_abm_ctrl_prio_check_params(struct nfp_abm_link *alink)
{ … }
int nfp_abm_ctrl_read_params(struct nfp_abm_link *alink)
{ … }
static unsigned int nfp_abm_ctrl_prio_map_size(struct nfp_abm *abm)
{ … }
static const struct nfp_rtsym *
nfp_abm_ctrl_find_rtsym(struct nfp_pf *pf, const char *name, unsigned int size)
{ … }
static const struct nfp_rtsym *
nfp_abm_ctrl_find_q_rtsym(struct nfp_abm *abm, const char *name_fmt,
size_t size)
{ … }
int nfp_abm_ctrl_find_addrs(struct nfp_abm *abm)
{ … }