9d326276e6f5b615682a868918e9e51876b5659e
[dpdk.git] / drivers / common / octeontx2 / otx2_irq.h
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 int otx2_register_irq(struct rte_intr_handle *intr_handle,
20                       rte_intr_callback_fn cb, void *data, unsigned int vec);
21 void otx2_unregister_irq(struct rte_intr_handle *intr_handle,
22                          rte_intr_callback_fn cb, void *data, unsigned int vec);
23 int otx2_disable_irqs(struct rte_intr_handle *intr_handle);
24
25 #endif /* _OTX2_IRQ_H_ */