*/
#ifndef _ROC_NIX_INL_PRIV_H_
#define _ROC_NIX_INL_PRIV_H_
+#include <pthread.h>
+#include <sys/types.h>
struct nix_inl_dev {
/* Base device object */
uint32_t xaq_buf_size;
uint32_t xae_waes;
uint32_t iue;
+ uint32_t nb_xae;
struct roc_sso_xaq_data xaq;
roc_nix_inl_sso_work_cb_t work_cb;
void *cb_args;
+ uint64_t *pkt_pools;
+ uint16_t pkt_pools_cnt;
/* NIX data */
uint8_t lf_tx_stats;
struct roc_nix_rq rq;
uint16_t rq_refs;
bool is_nix1;
+ uint8_t spb_drop_pc;
+ uint8_t lpb_drop_pc;
/* NIX/CPT data */
void *inb_sa_base;
/* CPT data */
struct roc_cpt_lf cpt_lf;
+ /* OUTB soft expiry poll thread */
+ pthread_t soft_exp_poll_thread;
+ uint32_t soft_exp_poll_freq;
+ uint64_t *sa_soft_exp_ring;
+
+ /* Soft expiry ring bitmap */
+ struct plt_bitmap *soft_exp_ring_bmap;
+
+ /* bitmap memory */
+ void *soft_exp_ring_bmap_mem;
+
/* Device arguments */
uint8_t selftest;
uint16_t channel;
uint16_t chan_mask;
bool is_multi_channel;
- uint16_t ipsec_in_max_spi;
+ uint32_t ipsec_in_min_spi;
+ uint32_t ipsec_in_max_spi;
+ uint32_t inb_spi_mask;
bool attach_cptlf;
+ bool wqe_skip;
};
int nix_inl_sso_register_irqs(struct nix_inl_dev *inl_dev);