((RVU_PCI_REV_MAJOR(otx2_dev_revid(dev)) == 0x0) && \
(RVU_PCI_REV_MIDR_ID(otx2_dev_revid(dev)) == 0x0))
+#define otx2_dev_is_96xx_Cx(dev) \
+ ((RVU_PCI_REV_MAJOR(otx2_dev_revid(dev)) == 0x2) && \
+ (RVU_PCI_REV_MIDR_ID(otx2_dev_revid(dev)) == 0x0))
+
+#define otx2_dev_is_96xx_C0(dev) \
+ ((RVU_PCI_REV_MAJOR(otx2_dev_revid(dev)) == 0x2) && \
+ (RVU_PCI_REV_MINOR(otx2_dev_revid(dev)) == 0x0) && \
+ (RVU_PCI_REV_MIDR_ID(otx2_dev_revid(dev)) == 0x0))
+
+#define otx2_dev_is_98xx(dev) \
+ (RVU_PCI_REV_MIDR_ID(otx2_dev_revid(dev)) == 0x3)
+
struct otx2_dev;
-/* Link status callback */
-typedef void (*otx2_link_status_t)(struct otx2_dev *dev,
+/* Link status update callback */
+typedef void (*otx2_link_status_update_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);
+/* Link status get callback */
+typedef void (*otx2_link_status_get_t)(struct otx2_dev *dev,
+ struct cgx_link_user_info *link);
struct otx2_dev_ops {
- otx2_link_status_t link_status_update;
+ otx2_link_status_update_t link_status_update;
otx2_ptp_info_t ptp_info_update;
+ otx2_link_status_get_t link_status_get;
};
#define OTX2_DEV \
OTX2_DEV;
};
+__rte_internal
int otx2_dev_priv_init(struct rte_pci_device *pci_dev, void *otx2_dev);
/* Common dev init and fini routines */
return rc;
}
- if (pci_dev->id.subsystem_device_id == PCI_SUBSYS_DEVID_96XX_95XX)
- dev->hwcap = rev_id;
- else
- dev->hwcap = 0;
-
+ dev->hwcap = rev_id;
return otx2_dev_priv_init(pci_dev, otx2_dev);
}
+__rte_internal
void otx2_dev_fini(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
int otx2_dev_active_vfs(void *otx2_dev);
#define RVU_PFVF_PF_SHIFT 10