net/i40e/base: introduce device ID for V710-TL 5G
authorJiaqi Min <jiaqix.min@intel.com>
Wed, 8 Apr 2020 10:05:21 +0000 (10:05 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Apr 2020 11:57:07 +0000 (13:57 +0200)
This change is adding new device ID and handling it in the same way as
X710-T*L head of family. A new device ID is for new V710-T*L adapter
supporting speeds up to 5G.

Signed-off-by: Zalfresso-Jundzillo <marekx.zalfresso-jundzillo@intel.com>
Signed-off-by: Jiaqi Min <jiaqix.min@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
drivers/net/i40e/base/i40e_common.c
drivers/net/i40e/base/i40e_devids.h
drivers/net/i40e/i40e_ethdev.c

index 84e67f2..4e06f2d 100644 (file)
@@ -34,6 +34,7 @@ enum i40e_status_code i40e_set_mac_type(struct i40e_hw *hw)
                case I40E_DEV_ID_10G_BASE_T_BC:
                case I40E_DEV_ID_10G_B:
                case I40E_DEV_ID_10G_SFP:
+               case I40E_DEV_ID_5G_BASE_T_BC:
                case I40E_DEV_ID_20G_KR2:
                case I40E_DEV_ID_20G_KR2_A:
                case I40E_DEV_ID_25G_B:
@@ -6728,6 +6729,7 @@ enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw,
        case I40E_DEV_ID_10G_BASE_T:
        case I40E_DEV_ID_10G_BASE_T4:
        case I40E_DEV_ID_10G_BASE_T_BC:
+       case I40E_DEV_ID_5G_BASE_T_BC:
        case I40E_DEV_ID_10G_BASE_T_X722:
        case I40E_DEV_ID_25G_B:
        case I40E_DEV_ID_25G_SFP28:
@@ -6764,6 +6766,7 @@ enum i40e_status_code i40e_read_phy_register(struct i40e_hw *hw,
                break;
        case I40E_DEV_ID_10G_BASE_T:
        case I40E_DEV_ID_10G_BASE_T4:
+       case I40E_DEV_ID_5G_BASE_T_BC:
        case I40E_DEV_ID_10G_BASE_T_X722:
        case I40E_DEV_ID_25G_B:
        case I40E_DEV_ID_25G_SFP28:
@@ -7036,7 +7039,8 @@ enum i40e_status_code i40e_get_phy_lpi_status(struct i40e_hw *hw,
        stat->rx_lpi_status = 0;
        stat->tx_lpi_status = 0;
 
-       if (hw->device_id == I40E_DEV_ID_10G_BASE_T_BC &&
+       if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC ||
+            hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) &&
            (hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB ||
             hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB)) {
                ret = i40e_aq_get_phy_register(hw,
@@ -7081,7 +7085,8 @@ enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw,
        /* only X710-T*L requires special handling of counters
         * for other devices we just read the MAC registers
         */
-       if (hw->device_id == I40E_DEV_ID_10G_BASE_T_BC &&
+       if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC ||
+            hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) &&
            hw->phy.link_info.link_speed != I40E_LINK_SPEED_1GB) {
                enum i40e_status_code retval;
                u32 cmd_status = 0;
@@ -7123,7 +7128,8 @@ enum i40e_status_code i40e_get_lpi_duration(struct i40e_hw *hw,
        enum i40e_status_code retval;
        u32 cmd_status;
 
-       if (hw->device_id != I40E_DEV_ID_10G_BASE_T_BC)
+       if (hw->device_id != I40E_DEV_ID_10G_BASE_T_BC &&
+           hw->device_id != I40E_DEV_ID_5G_BASE_T_BC)
                return I40E_ERR_NOT_IMPLEMENTED;
 
        retval = i40e_aq_run_phy_activity
index 5897d38..b87e1bc 100644 (file)
@@ -25,6 +25,7 @@
 #define I40E_DEV_ID_X710_N3000      0x0CF8
 #define I40E_DEV_ID_XXV710_N3000       0x0D58
 #define I40E_DEV_ID_10G_BASE_T_BC      0x15FF
+#define I40E_DEV_ID_5G_BASE_T_BC       0x101F
 #if defined(INTEGRATED_VF) || defined(VF_DRIVER) || defined(I40E_NDIS_SUPPORT)
 #define I40E_DEV_ID_VF                 0x154C
 #define I40E_DEV_ID_VF_HV              0x1571
@@ -39,7 +40,8 @@
 #define I40E_DEV_ID_10G_B              0x104F
 #define I40E_DEV_ID_10G_SFP            0x104E
 #define I40E_IS_X710TL_DEVICE(d) \
-       ((d) == I40E_DEV_ID_10G_BASE_T_BC)
+       (((d) == I40E_DEV_ID_10G_BASE_T_BC) || \
+       ((d) == I40E_DEV_ID_5G_BASE_T_BC))
 #define I40E_DEV_ID_KX_X722            0x37CE
 #define I40E_DEV_ID_QSFP_X722          0x37CF
 #define I40E_DEV_ID_SFP_X722           0x37D0
index 03ddb8e..540a4d7 100644 (file)
@@ -443,6 +443,7 @@ static const struct rte_pci_id pci_id_i40e_map[] = {
        { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_X710_N3000) },
        { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_XXV710_N3000) },
        { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_BASE_T_BC) },
+       { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_5G_BASE_T_BC) },
        { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_B) },
        { RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_SFP) },
        { .vendor_id = 0, /* sentinel */ },