浏览代码

be2net: add speed reporting for 20G-KR interface

This patch adds speed reporting via ethtool for 20G KR2 interface on the
Skyhawk-R chip.

Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Vasundhara Volam 11 年之前
父节点
当前提交
d6b7a9b7e7
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 1 0
      drivers/net/ethernet/emulex/benet/be_cmds.h
  2. 7 0
      drivers/net/ethernet/emulex/benet/be_ethtool.c

+ 1 - 0
drivers/net/ethernet/emulex/benet/be_cmds.h

@@ -1374,6 +1374,7 @@ enum {
 #define BE_SUPPORTED_SPEED_100MBPS	2
 #define BE_SUPPORTED_SPEED_100MBPS	2
 #define BE_SUPPORTED_SPEED_1GBPS	4
 #define BE_SUPPORTED_SPEED_1GBPS	4
 #define BE_SUPPORTED_SPEED_10GBPS	8
 #define BE_SUPPORTED_SPEED_10GBPS	8
+#define BE_SUPPORTED_SPEED_20GBPS	0x10
 #define BE_SUPPORTED_SPEED_40GBPS	0x20
 #define BE_SUPPORTED_SPEED_40GBPS	0x20
 
 
 #define BE_AN_EN			0x2
 #define BE_AN_EN			0x2

+ 7 - 0
drivers/net/ethernet/emulex/benet/be_ethtool.c

@@ -534,6 +534,13 @@ static u32 convert_to_et_setting(struct be_adapter *adapter, u32 if_speeds)
 		if (if_speeds & BE_SUPPORTED_SPEED_10GBPS)
 		if (if_speeds & BE_SUPPORTED_SPEED_10GBPS)
 			val |= SUPPORTED_10000baseKX4_Full;
 			val |= SUPPORTED_10000baseKX4_Full;
 		break;
 		break;
+	case PHY_TYPE_KR2_20GB:
+		val |= SUPPORTED_Backplane;
+		if (if_speeds & BE_SUPPORTED_SPEED_10GBPS)
+			val |= SUPPORTED_10000baseKR_Full;
+		if (if_speeds & BE_SUPPORTED_SPEED_20GBPS)
+			val |= SUPPORTED_20000baseKR2_Full;
+		break;
 	case PHY_TYPE_KR_10GB:
 	case PHY_TYPE_KR_10GB:
 		val |= SUPPORTED_Backplane |
 		val |= SUPPORTED_Backplane |
 				SUPPORTED_10000baseKR_Full;
 				SUPPORTED_10000baseKR_Full;