]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ixgbevf: Add support for Intel(R) E610 device
authorPiotr Kwapulinski <piotr.kwapulinski@intel.com>
Wed, 18 Dec 2024 13:12:38 +0000 (14:12 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 20 Dec 2024 18:14:05 +0000 (10:14 -0800)
Add support for Intel(R) E610 Series of network devices. The E610
is based on X550 but adds firmware managed link, enhanced security
capabilities and support for updated server manageability

Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ixgbevf/defines.h
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
drivers/net/ethernet/intel/ixgbevf/vf.c
drivers/net/ethernet/intel/ixgbevf/vf.h

index 5f08779c0e4e31bf023dd80aa280375529989b8a..a9bc96f6399dc08e97d56e5eb38411f074f0fc4c 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright(c) 1999 - 2018 Intel Corporation. */
+/* Copyright(c) 1999 - 2024 Intel Corporation. */
 
 #ifndef _IXGBEVF_DEFINES_H_
 #define _IXGBEVF_DEFINES_H_
@@ -16,6 +16,9 @@
 #define IXGBE_DEV_ID_X550_VF_HV                0x1564
 #define IXGBE_DEV_ID_X550EM_X_VF_HV    0x15A9
 
+#define IXGBE_DEV_ID_E610_VF           0x57AD
+#define IXGBE_SUBDEV_ID_E610_VF_HV     0x00FF
+
 #define IXGBE_VF_IRQ_CLEAR_MASK                7
 #define IXGBE_VF_MAX_TX_QUEUES         8
 #define IXGBE_VF_MAX_RX_QUEUES         8
index 130cb868774c401aecf43c64976497762e7f47e3..9b37f354d78ce0eb6cc100c343b5e6dfb2481e85 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright(c) 1999 - 2018 Intel Corporation. */
+/* Copyright(c) 1999 - 2024 Intel Corporation. */
 
 #ifndef _IXGBEVF_H_
 #define _IXGBEVF_H_
@@ -418,6 +418,8 @@ enum ixgbevf_boards {
        board_X550EM_x_vf,
        board_X550EM_x_vf_hv,
        board_x550em_a_vf,
+       board_e610_vf,
+       board_e610_vf_hv,
 };
 
 enum ixgbevf_xcast_modes {
@@ -434,11 +436,13 @@ extern const struct ixgbevf_info ixgbevf_X550EM_x_vf_info;
 extern const struct ixgbe_mbx_operations ixgbevf_mbx_ops;
 extern const struct ixgbe_mbx_operations ixgbevf_mbx_ops_legacy;
 extern const struct ixgbevf_info ixgbevf_x550em_a_vf_info;
+extern const struct ixgbevf_info ixgbevf_e610_vf_info;
 
 extern const struct ixgbevf_info ixgbevf_82599_vf_hv_info;
 extern const struct ixgbevf_info ixgbevf_X540_vf_hv_info;
 extern const struct ixgbevf_info ixgbevf_X550_vf_hv_info;
 extern const struct ixgbevf_info ixgbevf_X550EM_x_vf_hv_info;
+extern const struct ixgbevf_info ixgbevf_e610_vf_hv_info;
 extern const struct ixgbe_mbx_operations ixgbevf_hv_mbx_ops;
 
 /* needed by ethtool.c */
index 149911e3002a22d32eb29f4e1f8165c65b7efa11..2829bac9af9493049d2d7eb39dcc7b400d96c2d7 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 1999 - 2018 Intel Corporation. */
+/* Copyright(c) 1999 - 2024 Intel Corporation. */
 
 /******************************************************************************
  Copyright (c)2006 - 2007 Myricom, Inc. for some LRO specific code
@@ -39,7 +39,7 @@ static const char ixgbevf_driver_string[] =
        "Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver";
 
 static char ixgbevf_copyright[] =
-       "Copyright (c) 2009 - 2018 Intel Corporation.";
+       "Copyright (c) 2009 - 2024 Intel Corporation.";
 
 static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
        [board_82599_vf]        = &ixgbevf_82599_vf_info,
@@ -51,6 +51,8 @@ static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
        [board_X550EM_x_vf]     = &ixgbevf_X550EM_x_vf_info,
        [board_X550EM_x_vf_hv]  = &ixgbevf_X550EM_x_vf_hv_info,
        [board_x550em_a_vf]     = &ixgbevf_x550em_a_vf_info,
+       [board_e610_vf]         = &ixgbevf_e610_vf_info,
+       [board_e610_vf_hv]      = &ixgbevf_e610_vf_hv_info,
 };
 
 /* ixgbevf_pci_tbl - PCI Device ID Table
@@ -71,6 +73,9 @@ static const struct pci_device_id ixgbevf_pci_tbl[] = {
        {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF), board_X550EM_x_vf },
        {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV), board_X550EM_x_vf_hv},
        {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_VF), board_x550em_a_vf },
+       {PCI_VDEVICE_SUB(INTEL, IXGBE_DEV_ID_E610_VF, PCI_ANY_ID,
+                        IXGBE_SUBDEV_ID_E610_VF_HV), board_e610_vf_hv},
+       {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_VF), board_e610_vf},
        /* required last entry */
        {0, }
 };
@@ -4693,6 +4698,9 @@ static int ixgbevf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        case ixgbe_mac_X540_vf:
                dev_info(&pdev->dev, "Intel(R) X540 Virtual Function\n");
                break;
+       case ixgbe_mac_e610_vf:
+               dev_info(&pdev->dev, "Intel(R) E610 Virtual Function\n");
+               break;
        case ixgbe_mac_82599_vf:
        default:
                dev_info(&pdev->dev, "Intel(R) 82599 Virtual Function\n");
index 1641d00d8ed35c2a06a7ffacae353001e146e98c..da7a72ecce7a2dca8fe9f2fc3c4d72d2a7b20fa5 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 1999 - 2018 Intel Corporation. */
+/* Copyright(c) 1999 - 2024 Intel Corporation. */
 
 #include "vf.h"
 #include "ixgbevf.h"
@@ -1076,3 +1076,13 @@ const struct ixgbevf_info ixgbevf_x550em_a_vf_info = {
        .mac = ixgbe_mac_x550em_a_vf,
        .mac_ops = &ixgbevf_mac_ops,
 };
+
+const struct ixgbevf_info ixgbevf_e610_vf_info = {
+       .mac                    = ixgbe_mac_e610_vf,
+       .mac_ops                = &ixgbevf_mac_ops,
+};
+
+const struct ixgbevf_info ixgbevf_e610_vf_hv_info = {
+       .mac            = ixgbe_mac_e610_vf,
+       .mac_ops        = &ixgbevf_hv_mac_ops,
+};
index b4eef5b6c172bd68b136c48e1e5d1d047099defc..2d791bc26ae4e7ddbbd81d4c2636b8f39236f64a 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright(c) 1999 - 2018 Intel Corporation. */
+/* Copyright(c) 1999 - 2024 Intel Corporation. */
 
 #ifndef __IXGBE_VF_H__
 #define __IXGBE_VF_H__
@@ -54,6 +54,8 @@ enum ixgbe_mac_type {
        ixgbe_mac_X550_vf,
        ixgbe_mac_X550EM_x_vf,
        ixgbe_mac_x550em_a_vf,
+       ixgbe_mac_e610,
+       ixgbe_mac_e610_vf,
        ixgbe_num_macs
 };