raw/ifpga: fix interrupt handle allocation
[dpdk.git] / drivers / raw / ifpga / ifpga_rawdev.h
index 61c8366..6e09afe 100644 (file)
@@ -50,6 +50,7 @@ ifpga_rawdev_get_priv(const struct rte_rawdev *rawdev)
 
 #define IFPGA_RAWDEV_MSIX_IRQ_NUM 7
 #define IFPGA_RAWDEV_NUM 32
+#define IFPGA_MAX_IRQ 12
 
 struct ifpga_rawdev {
        int dev_id;
@@ -59,6 +60,8 @@ struct ifpga_rawdev {
        uint32_t aer_old[2];
        char fvl_bdf[8][16];
        char parent_bdf[16];
+       /* 0 for FME interrupt, others are reserved for AFU irq */
+       void *intr_handle[IFPGA_MAX_IRQ];
 };
 
 struct ifpga_rawdev *
@@ -70,12 +73,12 @@ enum ifpga_irq_type {
 };
 
 int
-ifpga_register_msix_irq(struct rte_rawdev *dev, int port_id,
+ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
                enum ifpga_irq_type type, int vec_start, int count,
                rte_intr_callback_fn handler, const char *name,
                void *arg);
 int
-ifpga_unregister_msix_irq(enum ifpga_irq_type type,
+ifpga_unregister_msix_irq(struct ifpga_rawdev *dev, enum ifpga_irq_type type,
                int vec_start, rte_intr_callback_fn handler, void *arg);
 
 struct rte_pci_bus *ifpga_get_pci_bus(void);