xref: /dpdk/drivers/common/cnxk/roc_tim_priv.h (revision 993107f0f4402443f0d1f410088174a02c2765b2)
1796e3668SPavan Nikhilesh /* SPDX-License-Identifier: BSD-3-Clause
2796e3668SPavan Nikhilesh  * Copyright(C) 2021 Marvell.
3796e3668SPavan Nikhilesh  */
4796e3668SPavan Nikhilesh 
5796e3668SPavan Nikhilesh #ifndef _ROC_TIM_PRIV_H_
6796e3668SPavan Nikhilesh #define _ROC_TIM_PRIV_H_
7796e3668SPavan Nikhilesh 
8796e3668SPavan Nikhilesh struct tim {
9309b553cSPavan Nikhilesh 	uint16_t tim_msix_offsets[MAX_RVU_BLKLF_CNT];
10796e3668SPavan Nikhilesh };
11796e3668SPavan Nikhilesh 
12796e3668SPavan Nikhilesh enum tim_err_status {
13796e3668SPavan Nikhilesh 	TIM_ERR_PARAM = -5120,
14796e3668SPavan Nikhilesh };
15796e3668SPavan Nikhilesh 
16796e3668SPavan Nikhilesh static inline struct tim *
roc_tim_to_tim_priv(struct roc_tim * roc_tim)17796e3668SPavan Nikhilesh roc_tim_to_tim_priv(struct roc_tim *roc_tim)
18796e3668SPavan Nikhilesh {
19796e3668SPavan Nikhilesh 	return (struct tim *)&roc_tim->reserved[0];
20796e3668SPavan Nikhilesh }
21796e3668SPavan Nikhilesh 
22*993107f0SShijith Thotton int tim_free_lf_count_get(struct dev *dev, uint16_t *nb_lfs);
23*993107f0SShijith Thotton 
24309b553cSPavan Nikhilesh /* TIM IRQ*/
25309b553cSPavan Nikhilesh int tim_register_irq_priv(struct roc_tim *roc_tim,
26309b553cSPavan Nikhilesh 			  struct plt_intr_handle *handle, uint8_t ring_id,
27309b553cSPavan Nikhilesh 			  uint16_t msix_offset);
28309b553cSPavan Nikhilesh void tim_unregister_irq_priv(struct roc_tim *roc_tim,
29309b553cSPavan Nikhilesh 			     struct plt_intr_handle *handle, uint8_t ring_id,
30309b553cSPavan Nikhilesh 			     uint16_t msix_offset);
31309b553cSPavan Nikhilesh 
32796e3668SPavan Nikhilesh #endif /* _ROC_TIM_PRIV_H_ */
33