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 Nikhileshroc_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