#include "cn10k.h"
#include "otx2_reg.h"
#include "otx2_struct.h"
static struct dev_hw_ops otx2_hw_ops = …;
static struct dev_hw_ops cn10k_hw_ops = …;
int cn10k_lmtst_init(struct otx2_nic *pfvf)
{ … }
EXPORT_SYMBOL(…);
int cn10k_sq_aq_init(void *dev, u16 qidx, u16 sqb_aura)
{ … }
#define NPA_MAX_BURST …
int cn10k_refill_pool_ptrs(void *dev, struct otx2_cq_queue *cq)
{ … }
void cn10k_sqe_flush(void *dev, struct otx2_snd_queue *sq, int size, int qidx)
{ … }
int cn10k_free_all_ipolicers(struct otx2_nic *pfvf)
{ … }
int cn10k_alloc_leaf_profile(struct otx2_nic *pfvf, u16 *leaf)
{ … }
int cn10k_alloc_matchall_ipolicer(struct otx2_nic *pfvf)
{ … }
#define POLICER_TIMESTAMP …
#define MAX_RATE_EXP …
static void cn10k_get_ingress_burst_cfg(u32 burst, u32 *burst_exp,
u32 *burst_mantissa)
{ … }
static void cn10k_get_ingress_rate_cfg(u64 rate, u32 *rate_exp,
u32 *rate_mantissa, u32 *rdiv)
{ … }
int cn10k_map_unmap_rq_policer(struct otx2_nic *pfvf, int rq_idx,
u16 policer, bool map)
{ … }
int cn10k_free_leaf_profile(struct otx2_nic *pfvf, u16 leaf)
{ … }
int cn10k_free_matchall_ipolicer(struct otx2_nic *pfvf)
{ … }
int cn10k_set_ipolicer_rate(struct otx2_nic *pfvf, u16 profile,
u32 burst, u64 rate, bool pps)
{ … }
int cn10k_set_matchall_ipolicer_rate(struct otx2_nic *pfvf,
u32 burst, u64 rate)
{ … }