#include "otx2_common.h"
#include "otx2_irq.h"
#include "otx2_mbox.h"
+#include "otx2_mempool.h"
/* Common HWCAP flags. Use from LSB bits */
#define OTX2_HWCAP_F_VF BIT_ULL(0) /* VF device */
struct otx2_dev;
+/* Link status callback */
+typedef void (*otx2_link_status_t)(struct otx2_dev *dev,
+ struct cgx_link_user_info *link);
+/* PTP info callback */
+typedef int (*otx2_ptp_info_t)(struct otx2_dev *dev, bool ptp_en);
+
+struct otx2_dev_ops {
+ otx2_link_status_t link_status_update;
+ otx2_ptp_info_t ptp_info_update;
+};
+
#define OTX2_DEV \
int node __rte_cache_aligned; \
uint16_t pf; \
otx2_intr_t intr; \
int timer_set; /* ~0 : no alarm handling */ \
uint64_t hwcap; \
+ struct otx2_npa_lf npalf; \
struct otx2_mbox *mbox; \
uint16_t maxvf; \
const struct otx2_dev_ops *ops