1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
10 /* Default engine groups */
11 #define ROC_CPT_DFLT_ENG_GRP_SE 0UL
12 #define ROC_CPT_DFLT_ENG_GRP_SE_IE 1UL
13 #define ROC_CPT_DFLT_ENG_GRP_AE 2UL
15 #define ROC_CPT_MAX_LFS 64
18 /* Input parameters */
21 /* End of Input parameters */
22 struct plt_pci_device *pci_dev;
24 struct roc_cpt *roc_cpt;
32 } __plt_cache_aligned;
35 struct plt_pci_device *pci_dev;
36 struct roc_cpt_lf *lf[ROC_CPT_MAX_LFS];
40 /**< CPT device capabilities */
41 union cpt_eng_caps hw_caps[CPT_MAX_ENG_TYPES];
42 uint8_t eng_grp[CPT_MAX_ENG_TYPES];
44 #define ROC_CPT_MEM_SZ (6 * 1024)
45 uint8_t reserved[ROC_CPT_MEM_SZ] __plt_cache_aligned;
46 } __plt_cache_aligned;
48 struct roc_cpt_rxc_time_cfg {
50 uint16_t active_limit;
51 uint16_t active_thres;
52 uint16_t zombie_limit;
53 uint16_t zombie_thres;
56 int __roc_api roc_cpt_rxc_time_cfg(struct roc_cpt *roc_cpt,
57 struct roc_cpt_rxc_time_cfg *cfg);
58 int __roc_api roc_cpt_dev_init(struct roc_cpt *roc_cpt);
59 int __roc_api roc_cpt_dev_fini(struct roc_cpt *roc_cpt);
60 int __roc_api roc_cpt_eng_grp_add(struct roc_cpt *roc_cpt,
61 enum cpt_eng_type eng_type);
62 int __roc_api roc_cpt_dev_configure(struct roc_cpt *roc_cpt, int nb_lf);
63 void __roc_api roc_cpt_dev_clear(struct roc_cpt *roc_cpt);
64 int __roc_api roc_cpt_lf_init(struct roc_cpt *roc_cpt, struct roc_cpt_lf *lf);
65 void __roc_api roc_cpt_lf_fini(struct roc_cpt_lf *lf);
66 void __roc_api roc_cpt_iq_disable(struct roc_cpt_lf *lf);
67 #endif /* _ROC_CPT_H_ */