net/mlx5: fix match information in meter
[dpdk.git] / drivers / net / i40e / base / i40e_adminq.c
index 96e170e..659b971 100644 (file)
@@ -598,6 +598,11 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw)
                    (aq->api_maj_ver == 1 &&
                     aq->api_min_ver >= I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722))
                        hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
+
+               if (aq->api_maj_ver > 1 ||
+                   (aq->api_maj_ver == 1 &&
+                    aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722))
+                       hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE;
                /* fall through */
        default:
                break;
@@ -611,8 +616,10 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw)
 
        if (aq->api_maj_ver > 1 ||
            (aq->api_maj_ver == 1 &&
-            aq->api_min_ver >= 8))
+            aq->api_min_ver >= 8)) {
                hw->flags |= I40E_HW_FLAG_FW_LLDP_PERSISTENT;
+               hw->flags |= I40E_HW_FLAG_DROP_MODE;
+       }
 
        if (aq->api_maj_ver > 1 ||
            (aq->api_maj_ver == 1 &&
@@ -666,6 +673,10 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
        if (ret_code != I40E_SUCCESS)
                goto init_adminq_free_asq;
 
+       /* VF has no need of firmware */
+       if (i40e_is_vf(hw))
+               goto init_adminq_exit;
+
        /* There are some cases where the firmware may not be quite ready
         * for AdminQ operations, so we retry the AdminQ setup a few times
         * if we see timeouts in this first AQ call.