1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(C) 2019 Marvell International Ltd. 3 */ 4 5 #ifndef _OTX2_IRQ_H_ 6 #define _OTX2_IRQ_H_ 7 8 #include <rte_pci.h> 9 #include <rte_interrupts.h> 10 11 #include "otx2_common.h" 12 13 typedef struct { 14 /* 128 devices translate to two 64 bits dwords */ 15 #define MAX_VFPF_DWORD_BITS 2 16 uint64_t bits[MAX_VFPF_DWORD_BITS]; 17 } otx2_intr_t; 18 19 __rte_internal 20 int otx2_register_irq(struct rte_intr_handle *intr_handle, 21 rte_intr_callback_fn cb, void *data, unsigned int vec); 22 __rte_internal 23 void otx2_unregister_irq(struct rte_intr_handle *intr_handle, 24 rte_intr_callback_fn cb, void *data, unsigned int vec); 25 __rte_internal 26 int otx2_disable_irqs(struct rte_intr_handle *intr_handle); 27 28 #endif /* _OTX2_IRQ_H_ */ 29