Add device ids for X722 devices

Signed-off-by: Jingjing Wu <jingjing.wu at intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 19 +++++++++++++++++++
 drivers/net/i40e/base/i40e_devids.h | 10 ++++++++++
 drivers/net/i40e/base/i40e_nvm.c    |  8 ++++++++
 drivers/net/i40e/base/i40e_type.h   |  9 +++++++++
 4 files changed, 46 insertions(+)

diff --git a/drivers/net/i40e/base/i40e_common.c 
b/drivers/net/i40e/base/i40e_common.c
index 6c4cea8..4329d68 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -70,6 +70,22 @@ STATIC enum i40e_status_code i40e_set_mac_type(struct 
i40e_hw *hw)
                case I40E_DEV_ID_20G_KR2_A:
                        hw->mac.type = I40E_MAC_XL710;
                        break;
+#ifdef X722_SUPPORT
+#ifdef X722_A0_SUPPORT
+               case I40E_DEV_ID_X722_A0:
+#endif
+               case I40E_DEV_ID_SFP_X722:
+               case I40E_DEV_ID_1G_BASE_T_X722:
+               case I40E_DEV_ID_10G_BASE_T_X722:
+                       hw->mac.type = I40E_MAC_X722;
+                       break;
+#endif
+#ifdef X722_SUPPORT
+               case I40E_DEV_ID_X722_VF:
+               case I40E_DEV_ID_X722_VF_HV:
+                       hw->mac.type = I40E_MAC_X722_VF;
+                       break;
+#endif
                case I40E_DEV_ID_VF:
                case I40E_DEV_ID_VF_HV:
                        hw->mac.type = I40E_MAC_VF;
@@ -834,6 +850,9 @@ enum i40e_status_code i40e_init_shared_code(struct i40e_hw 
*hw)

        switch (hw->mac.type) {
        case I40E_MAC_XL710:
+#ifdef X722_SUPPORT
+       case I40E_MAC_X722:
+#endif
                break;
        default:
                return I40E_ERR_DEVICE_NOT_SUPPORTED;
diff --git a/drivers/net/i40e/base/i40e_devids.h 
b/drivers/net/i40e/base/i40e_devids.h
index 39820fc..26cfd54 100644
--- a/drivers/net/i40e/base/i40e_devids.h
+++ b/drivers/net/i40e/base/i40e_devids.h
@@ -52,6 +52,16 @@ POSSIBILITY OF SUCH DAMAGE.
 #define I40E_DEV_ID_10G_BASE_T4                0x1589
 #define I40E_DEV_ID_VF                 0x154C
 #define I40E_DEV_ID_VF_HV              0x1571
+#ifdef X722_SUPPORT
+#ifdef X722_A0_SUPPORT
+#define I40E_DEV_ID_X722_A0            0x374C
+#endif
+#define I40E_DEV_ID_SFP_X722           0x37D0
+#define I40E_DEV_ID_1G_BASE_T_X722     0x37D1
+#define I40E_DEV_ID_10G_BASE_T_X722    0x37D2
+#define I40E_DEV_ID_X722_VF            0x37CD
+#define I40E_DEV_ID_X722_VF_HV         0x37D9
+#endif /* X722_SUPPORT */

 #define i40e_is_40G_device(d)          ((d) == I40E_DEV_ID_QSFP_A  || \
                                         (d) == I40E_DEV_ID_QSFP_B  || \
diff --git a/drivers/net/i40e/base/i40e_nvm.c b/drivers/net/i40e/base/i40e_nvm.c
index 10c2d77..00f86aa 100644
--- a/drivers/net/i40e/base/i40e_nvm.c
+++ b/drivers/net/i40e/base/i40e_nvm.c
@@ -217,6 +217,10 @@ static enum i40e_status_code 
i40e_poll_sr_srctl_done_bit(struct i40e_hw *hw)
 enum i40e_status_code i40e_read_nvm_word(struct i40e_hw *hw, u16 offset,
                                         u16 *data)
 {
+#ifdef X722_SUPPORT
+       if (hw->mac.type == I40E_MAC_X722)
+               return i40e_read_nvm_word_aq(hw, offset, data);
+#endif
        return i40e_read_nvm_word_srctl(hw, offset, data);
 }

@@ -305,6 +309,10 @@ enum i40e_status_code i40e_read_nvm_word_aq(struct i40e_hw 
*hw, u16 offset,
 enum i40e_status_code i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset,
                                           u16 *words, u16 *data)
 {
+#ifdef X722_SUPPORT
+       if (hw->mac.type == I40E_MAC_X722)
+               return i40e_read_nvm_buffer_aq(hw, offset, words, data);
+#endif
        return i40e_read_nvm_buffer_srctl(hw, offset, words, data);
 }

diff --git a/drivers/net/i40e/base/i40e_type.h 
b/drivers/net/i40e/base/i40e_type.h
index 2d9b4a3..b5b5890 100644
--- a/drivers/net/i40e/base/i40e_type.h
+++ b/drivers/net/i40e/base/i40e_type.h
@@ -184,6 +184,10 @@ enum i40e_mac_type {
        I40E_MAC_X710,
        I40E_MAC_XL710,
        I40E_MAC_VF,
+#ifdef X722_SUPPORT
+       I40E_MAC_X722,
+       I40E_MAC_X722_VF,
+#endif
        I40E_MAC_GENERIC,
 };

@@ -633,7 +637,12 @@ struct i40e_hw {

 static inline bool i40e_is_vf(struct i40e_hw *hw)
 {
+#ifdef X722_SUPPORT
+       return (hw->mac.type == I40E_MAC_VF ||
+               hw->mac.type == I40E_MAC_X722_VF);
+#else
        return hw->mac.type == I40E_MAC_VF;
+#endif
 }

 struct i40e_driver_version {
-- 
2.4.0

Reply via email to