OSDN Git Service

ice: Add device ids for E822 devices
authorJacob Keller <jacob.e.keller@intel.com>
Tue, 17 Dec 2019 10:55:43 +0000 (02:55 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 4 Jan 2020 00:08:33 +0000 (16:08 -0800)
Add support for E822 devices

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_devids.h
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/intel/ice/ice_nvm.c

index f8d5c66..ce63017 100644 (file)
 #define ICE_DEV_ID_E810C_QSFP          0x1592
 /* Intel(R) Ethernet Controller E810-C for SFP */
 #define ICE_DEV_ID_E810C_SFP           0x1593
+/* Intel(R) Ethernet Connection E822-C for backplane */
+#define ICE_DEV_ID_E822C_BACKPLANE     0x1890
+/* Intel(R) Ethernet Connection E822-C for QSFP */
+#define ICE_DEV_ID_E822C_QSFP          0x1891
+/* Intel(R) Ethernet Connection E822-C for SFP */
+#define ICE_DEV_ID_E822C_SFP           0x1892
+/* Intel(R) Ethernet Connection E822-C/X557-AT 10GBASE-T */
+#define ICE_DEV_ID_E822C_10G_BASE_T    0x1893
+/* Intel(R) Ethernet Connection E822-C 1GbE */
+#define ICE_DEV_ID_E822C_SGMII         0x1894
+/* Intel(R) Ethernet Connection E822-X for backplane */
+#define ICE_DEV_ID_E822X_BACKPLANE     0x1897
+/* Intel(R) Ethernet Connection E822-L for SFP */
+#define ICE_DEV_ID_E822L_SFP           0x1898
+/* Intel(R) Ethernet Connection E822-L/X557-AT 10GBASE-T */
+#define ICE_DEV_ID_E822L_10G_BASE_T    0x1899
+/* Intel(R) Ethernet Connection E822-L 1GbE */
+#define ICE_DEV_ID_E822L_SGMII         0x189A
 
 #endif /* _ICE_DEVIDS_H_ */
index 2c9350f..bf53948 100644 (file)
@@ -3572,6 +3572,15 @@ static const struct pci_device_id ice_pci_tbl[] = {
        { PCI_VDEVICE(INTEL, ICE_DEV_ID_E810C_BACKPLANE), 0 },
        { PCI_VDEVICE(INTEL, ICE_DEV_ID_E810C_QSFP), 0 },
        { PCI_VDEVICE(INTEL, ICE_DEV_ID_E810C_SFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_BACKPLANE), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_QSFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_SFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_10G_BASE_T), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822C_SGMII), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822X_BACKPLANE), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822L_SFP), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822L_10G_BASE_T), 0 },
+       { PCI_VDEVICE(INTEL, ICE_DEV_ID_E822L_SGMII), 0 },
        /* required last entry */
        { 0, }
 };
index 57c73f6..7525ac5 100644 (file)
@@ -289,6 +289,18 @@ enum ice_status ice_init_nvm(struct ice_hw *hw)
 
        nvm->eetrack = (eetrack_hi << 16) | eetrack_lo;
 
+       /* the following devices do not have boot_cfg_tlv yet */
+       if (hw->device_id == ICE_DEV_ID_E822C_BACKPLANE ||
+           hw->device_id == ICE_DEV_ID_E822C_QSFP ||
+           hw->device_id == ICE_DEV_ID_E822C_10G_BASE_T ||
+           hw->device_id == ICE_DEV_ID_E822C_SGMII ||
+           hw->device_id == ICE_DEV_ID_E822C_SFP ||
+           hw->device_id == ICE_DEV_ID_E822X_BACKPLANE ||
+           hw->device_id == ICE_DEV_ID_E822L_SFP ||
+           hw->device_id == ICE_DEV_ID_E822L_10G_BASE_T ||
+           hw->device_id == ICE_DEV_ID_E822L_SGMII)
+               return status;
+
        status = ice_get_pfa_module_tlv(hw, &boot_cfg_tlv, &boot_cfg_tlv_len,
                                        ICE_SR_BOOT_CFG_PTR);
        if (status) {