net/i40e/base: check MAC type
[dpdk.git] / drivers / net / i40e / base / i40e_adminq.c
index b2fc6f5..b8c6e30 100644 (file)
@@ -582,25 +582,22 @@ STATIC void i40e_resume_aq(struct i40e_hw *hw)
  **/
 enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
 {
-#ifdef PF_DRIVER
+       struct i40e_adminq_info *aq = &hw->aq;
+       enum i40e_status_code ret_code;
        u16 cfg_ptr, oem_hi, oem_lo;
        u16 eetrack_lo, eetrack_hi;
-#endif
-       enum i40e_status_code ret_code;
-#ifdef PF_DRIVER
        int retry = 0;
-#endif
 
        /* verify input for valid configuration */
-       if ((hw->aq.num_arq_entries == 0) ||
-           (hw->aq.num_asq_entries == 0) ||
-           (hw->aq.arq_buf_size == 0) ||
-           (hw->aq.asq_buf_size == 0)) {
+       if (aq->num_arq_entries == 0 ||
+           aq->num_asq_entries == 0 ||
+           aq->arq_buf_size == 0 ||
+           aq->asq_buf_size == 0) {
                ret_code = I40E_ERR_CONFIG;
                goto init_adminq_exit;
        }
-       i40e_init_spinlock(&hw->aq.asq_spinlock);
-       i40e_init_spinlock(&hw->aq.arq_spinlock);
+       i40e_init_spinlock(&aq->asq_spinlock);
+       i40e_init_spinlock(&aq->arq_spinlock);
 
        /* Set up register offsets */
        i40e_adminq_init_regs(hw);
@@ -618,23 +615,17 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
        if (ret_code != I40E_SUCCESS)
                goto init_adminq_free_asq;
 
-#ifdef PF_DRIVER
-#ifdef INTEGRATED_VF
-       /* VF has no need of firmware */
-       if (i40e_is_vf(hw))
-               goto init_adminq_exit;
-#endif
        /* 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.
         */
        do {
                ret_code = i40e_aq_get_firmware_version(hw,
-                                                       &hw->aq.fw_maj_ver,
-                                                       &hw->aq.fw_min_ver,
-                                                       &hw->aq.fw_build,
-                                                       &hw->aq.api_maj_ver,
-                                                       &hw->aq.api_min_ver,
+                                                       &aq->fw_maj_ver,
+                                                       &aq->fw_min_ver,
+                                                       &aq->fw_build,
+                                                       &aq->api_maj_ver,
+                                                       &aq->api_min_ver,
                                                        NULL);
                if (ret_code != I40E_ERR_ADMIN_QUEUE_TIMEOUT)
                        break;
@@ -658,31 +649,7 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
                           &oem_lo);
        hw->nvm.oem_ver = ((u32)oem_hi << 16) | oem_lo;
 
-       /* The ability to RX (not drop) 802.1ad frames was added in API 1.7 */
-       if ((hw->aq.api_maj_ver > 1) ||
-           ((hw->aq.api_maj_ver == 1) &&
-            (hw->aq.api_min_ver >= 7)))
-               hw->flags |= I40E_HW_FLAG_802_1AD_CAPABLE;
-
-       if (hw->mac.type == I40E_MAC_XL710 &&
-           hw->aq.api_maj_ver == I40E_FW_API_VERSION_MAJOR &&
-           hw->aq.api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_XL710) {
-               hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE;
-               hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
-       }
-       if (hw->mac.type == I40E_MAC_X722 &&
-           hw->aq.api_maj_ver == I40E_FW_API_VERSION_MAJOR &&
-           hw->aq.api_min_ver >= I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722) {
-               hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
-       }
-
-       /* Newer versions of firmware require lock when reading the NVM */
-       if ((hw->aq.api_maj_ver > 1) ||
-           ((hw->aq.api_maj_ver == 1) &&
-            (hw->aq.api_min_ver >= 5)))
-               hw->flags |= I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK;
-
-       if (hw->aq.api_maj_ver > I40E_FW_API_VERSION_MAJOR) {
+       if (aq->api_maj_ver > I40E_FW_API_VERSION_MAJOR) {
                ret_code = I40E_ERR_FIRMWARE_API_VERSION;
                goto init_adminq_free_arq;
        }
@@ -692,21 +659,18 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
        hw->nvm_release_on_done = false;
        hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
 
-#endif /* PF_DRIVER */
        ret_code = I40E_SUCCESS;
 
        /* success! */
        goto init_adminq_exit;
 
-#ifdef PF_DRIVER
 init_adminq_free_arq:
        i40e_shutdown_arq(hw);
-#endif
 init_adminq_free_asq:
        i40e_shutdown_asq(hw);
 init_adminq_destroy_spinlocks:
-       i40e_destroy_spinlock(&hw->aq.asq_spinlock);
-       i40e_destroy_spinlock(&hw->aq.arq_spinlock);
+       i40e_destroy_spinlock(&aq->asq_spinlock);
+       i40e_destroy_spinlock(&aq->arq_spinlock);
 
 init_adminq_exit:
        return ret_code;