1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
4 #ifndef _ROC_NIX_INL_PRIV_H_
5 #define _ROC_NIX_INL_PRIV_H_
11 struct nix_inl_dev *inl_dev;
16 /* Base device object */
20 struct plt_pci_device *pci_dev;
22 /* LF specific BAR2 regions */
28 /* MSIX vector offsets */
30 uint16_t ssow_msixoff;
35 uint32_t xaq_buf_size;
39 struct roc_sso_xaq_data xaq;
40 roc_nix_inl_sso_work_cb_t work_cb;
43 uint16_t pkt_pools_cnt;
48 uint16_t vwqe_interval;
51 uint16_t configured_qints;
52 struct roc_nix_rq *rqs;
53 struct nix_inl_qint *qints_mem;
64 struct roc_cpt_lf cpt_lf;
66 /* OUTB soft expiry poll thread */
67 pthread_t soft_exp_poll_thread;
68 uint32_t soft_exp_poll_freq;
69 uint64_t *sa_soft_exp_ring;
70 bool set_soft_exp_poll;
72 /* Soft expiry ring bitmap */
73 struct plt_bitmap *soft_exp_ring_bmap;
76 void *soft_exp_ring_bmap_mem;
78 /* Device arguments */
82 bool is_multi_channel;
83 uint32_t ipsec_in_min_spi;
84 uint32_t ipsec_in_max_spi;
85 uint32_t inb_spi_mask;
91 int nix_inl_sso_register_irqs(struct nix_inl_dev *inl_dev);
92 void nix_inl_sso_unregister_irqs(struct nix_inl_dev *inl_dev);
94 int nix_inl_nix_register_irqs(struct nix_inl_dev *inl_dev);
95 void nix_inl_nix_unregister_irqs(struct nix_inl_dev *inl_dev);
97 uint16_t nix_inl_dev_pffunc_get(void);
99 #endif /* _ROC_NIX_INL_PRIV_H_ */