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_
10 /* Base device object */
14 struct plt_pci_device *pci_dev;
16 /* LF specific BAR2 regions */
22 /* MSIX vector offsets */
24 uint16_t ssow_msixoff;
29 uint32_t xaq_buf_size;
33 struct roc_sso_xaq_data xaq;
34 roc_nix_inl_sso_work_cb_t work_cb;
37 uint16_t pkt_pools_cnt;
42 uint16_t vwqe_interval;
56 struct roc_cpt_lf cpt_lf;
58 /* OUTB soft expiry poll thread */
59 pthread_t soft_exp_poll_thread;
60 uint32_t soft_exp_poll_freq;
61 void *sa_soft_exp_ring[ROC_NIX_INL_MAX_SOFT_EXP_RNGS];
63 /* Soft expiry ring bitmap */
64 struct plt_bitmap *soft_exp_ring_bmap;
67 void *soft_exp_ring_bmap_mem;
69 /* Device arguments */
73 bool is_multi_channel;
74 uint32_t ipsec_in_min_spi;
75 uint32_t ipsec_in_max_spi;
76 uint32_t inb_spi_mask;
81 int nix_inl_sso_register_irqs(struct nix_inl_dev *inl_dev);
82 void nix_inl_sso_unregister_irqs(struct nix_inl_dev *inl_dev);
84 int nix_inl_nix_register_irqs(struct nix_inl_dev *inl_dev);
85 void nix_inl_nix_unregister_irqs(struct nix_inl_dev *inl_dev);
87 uint16_t nix_inl_dev_pffunc_get(void);
89 #endif /* _ROC_NIX_INL_PRIV_H_ */