return rawdev->dev_private;
}
+#define IFPGA_RAWDEV_MSIX_IRQ_NUM 7
+#define IFPGA_RAWDEV_NUM 32
+
+struct ifpga_rawdev {
+ int dev_id;
+ struct rte_rawdev *rawdev;
+ int aer_enable;
+ int intr_fd[IFPGA_RAWDEV_MSIX_IRQ_NUM+1];
+ uint32_t aer_old[2];
+ char fvl_bdf[8][16];
+ char parent_bdf[16];
+};
+
+struct ifpga_rawdev *
+ifpga_rawdev_get(const struct rte_rawdev *rawdev);
+
+enum ifpga_irq_type {
+ IFPGA_FME_IRQ = 0,
+ IFPGA_AFU_IRQ = 1,
+};
+
+int
+ifpga_register_msix_irq(struct rte_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,
+ int vec_start, rte_intr_callback_fn handler, void *arg);
+
#endif /* _IFPGA_RAWDEV_H_ */