New upstream version 18.11-rc1
[deb_dpdk.git] / drivers / net / ark / ark_ddm.c
index eea388a..57026f8 100644 (file)
 int
 ark_ddm_verify(struct ark_ddm_t *ddm)
 {
+       uint32_t hw_const;
        if (sizeof(struct ark_ddm_t) != ARK_DDM_EXPECTED_SIZE) {
                PMD_DRV_LOG(ERR, "ARK: DDM structure looks incorrect %d vs %zd\n",
                            ARK_DDM_EXPECTED_SIZE, sizeof(struct ark_ddm_t));
                return -1;
        }
 
-       if (ddm->cfg.const0 != ARK_DDM_CONST) {
-               PMD_DRV_LOG(ERR, "ARK: DDM module not found as expected 0x%08x\n",
+       hw_const = ddm->cfg.const0;
+       if (hw_const == ARK_DDM_CONST1) {
+               PMD_DRV_LOG(ERR,
+                           "ARK: DDM module is version 1, "
+                           "PMD expects version 2\n");
+               return -1;
+       } else if (hw_const != ARK_DDM_CONST2) {
+               PMD_DRV_LOG(ERR,
+                           "ARK: DDM module not found as expected 0x%08x\n",
                            ddm->cfg.const0);
                return -1;
        }