]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/ethernet/mellanox/mlxsw/reg.h
mlxsw: spectrum: Add support for 400Gbps (50Gbps per lane) link modes
[linux.git] / drivers / net / ethernet / mellanox / mlxsw / reg.h
index 5494cf93f34cb58685c705e03bdf49e68f9b6e67..f5e39758c6ac82eed70612b265ceebf140271495 100644 (file)
@@ -4111,6 +4111,7 @@ MLXSW_ITEM32(reg, ptys, an_status, 0x04, 28, 4);
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_CAUI_4_100GBASE_CR4_KR4           BIT(9)
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_100GAUI_2_100GBASE_CR2_KR2                BIT(10)
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_200GAUI_4_200GBASE_CR4_KR4                BIT(12)
+#define MLXSW_REG_PTYS_EXT_ETH_SPEED_400GAUI_8                         BIT(15)
 
 /* reg_ptys_ext_eth_proto_cap
  * Extended Ethernet port supported speeds and protocols.
@@ -9531,6 +9532,12 @@ MLXSW_ITEM32(reg, mgpir, devices_per_flash, 0x00, 16, 8);
  */
 MLXSW_ITEM32(reg, mgpir, num_of_devices, 0x00, 0, 8);
 
+/* num_of_modules
+ * Number of modules.
+ * Access: RO
+ */
+MLXSW_ITEM32(reg, mgpir, num_of_modules, 0x04, 0, 8);
+
 static inline void mlxsw_reg_mgpir_pack(char *payload)
 {
        MLXSW_REG_ZERO(mgpir, payload);
@@ -9539,7 +9546,7 @@ static inline void mlxsw_reg_mgpir_pack(char *payload)
 static inline void
 mlxsw_reg_mgpir_unpack(char *payload, u8 *num_of_devices,
                       enum mlxsw_reg_mgpir_device_type *device_type,
-                      u8 *devices_per_flash)
+                      u8 *devices_per_flash, u8 *num_of_modules)
 {
        if (num_of_devices)
                *num_of_devices = mlxsw_reg_mgpir_num_of_devices_get(payload);
@@ -9548,6 +9555,8 @@ mlxsw_reg_mgpir_unpack(char *payload, u8 *num_of_devices,
        if (devices_per_flash)
                *devices_per_flash =
                                mlxsw_reg_mgpir_devices_per_flash_get(payload);
+       if (num_of_modules)
+               *num_of_modules = mlxsw_reg_mgpir_num_of_modules_get(payload);
 }
 
 /* TNGCR - Tunneling NVE General Configuration Register