common/cnxk: support multi channel for SDP send queues
[dpdk.git] / drivers / common / cnxk / roc_nix_inl_priv.h
index 2cdab6d..0fa5e09 100644 (file)
@@ -3,6 +3,8 @@
  */
 #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 */
@@ -27,9 +29,12 @@ struct nix_inl_dev {
        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;
@@ -40,6 +45,8 @@ struct nix_inl_dev {
        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;
@@ -48,13 +55,27 @@ struct nix_inl_dev {
        /* 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);