build: standardize component names and defines
[dpdk.git] / drivers / raw / ifpga / ifpga_rawdev.h
index e153dba..7754beb 100644 (file)
@@ -46,4 +46,34 @@ ifpga_rawdev_get_priv(const struct rte_rawdev *rawdev)
        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_ */