aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb4
diff options
context:
space:
mode:
authorDimitris Michailidis <dm@chelsio.com>2010-12-14 16:36:47 -0500
committerDavid S. Miller <davem@davemloft.net>2010-12-16 16:16:00 -0500
commit7d5e77aafa39f3210b6273a44fe07508e837c3cb (patch)
tree60b3450f978f269b7e8264c941eb8e8993637beb /drivers/net/cxgb4
parenta57cabe09f843a3f71277c485494496b3b9ee84a (diff)
cxgb4: distinguish between 1-lane KR/KX and 4-lane KR/KX/KX4 ports
And fix the supported flags ethtool reports for the two cases. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb4')
-rw-r--r--drivers/net/cxgb4/cxgb4_main.c9
-rw-r--r--drivers/net/cxgb4/t4fw_api.h1
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c
index 3012a8aeff45..3f33d515f62e 100644
--- a/drivers/net/cxgb4/cxgb4_main.c
+++ b/drivers/net/cxgb4/cxgb4_main.c
@@ -1375,7 +1375,12 @@ static unsigned int from_fw_linkcaps(unsigned int type, unsigned int caps)
1375 } else if (type == FW_PORT_TYPE_KR) 1375 } else if (type == FW_PORT_TYPE_KR)
1376 v |= SUPPORTED_Backplane | SUPPORTED_10000baseKR_Full; 1376 v |= SUPPORTED_Backplane | SUPPORTED_10000baseKR_Full;
1377 else if (type == FW_PORT_TYPE_BP_AP) 1377 else if (type == FW_PORT_TYPE_BP_AP)
1378 v |= SUPPORTED_Backplane | SUPPORTED_10000baseR_FEC; 1378 v |= SUPPORTED_Backplane | SUPPORTED_10000baseR_FEC |
1379 SUPPORTED_10000baseKR_Full | SUPPORTED_1000baseKX_Full;
1380 else if (type == FW_PORT_TYPE_BP4_AP)
1381 v |= SUPPORTED_Backplane | SUPPORTED_10000baseR_FEC |
1382 SUPPORTED_10000baseKR_Full | SUPPORTED_1000baseKX_Full |
1383 SUPPORTED_10000baseKX4_Full;
1379 else if (type == FW_PORT_TYPE_FIBER_XFI || 1384 else if (type == FW_PORT_TYPE_FIBER_XFI ||
1380 type == FW_PORT_TYPE_FIBER_XAUI || type == FW_PORT_TYPE_SFP) 1385 type == FW_PORT_TYPE_FIBER_XAUI || type == FW_PORT_TYPE_SFP)
1381 v |= SUPPORTED_FIBRE; 1386 v |= SUPPORTED_FIBRE;
@@ -3489,7 +3494,7 @@ static void __devinit print_port_info(struct adapter *adap)
3489{ 3494{
3490 static const char *base[] = { 3495 static const char *base[] = {
3491 "R XFI", "R XAUI", "T SGMII", "T XFI", "T XAUI", "KX4", "CX4", 3496 "R XFI", "R XAUI", "T SGMII", "T XFI", "T XAUI", "KX4", "CX4",
3492 "KX", "KR", "KR SFP+", "KR FEC" 3497 "KX", "KR", "R SFP+", "KR/KX", "KR/KX/KX4"
3493 }; 3498 };
3494 3499
3495 int i; 3500 int i;
diff --git a/drivers/net/cxgb4/t4fw_api.h b/drivers/net/cxgb4/t4fw_api.h
index 940584a8a640..edcfd7ec7802 100644
--- a/drivers/net/cxgb4/t4fw_api.h
+++ b/drivers/net/cxgb4/t4fw_api.h
@@ -1239,6 +1239,7 @@ enum fw_port_type {
1239 FW_PORT_TYPE_KR, 1239 FW_PORT_TYPE_KR,
1240 FW_PORT_TYPE_SFP, 1240 FW_PORT_TYPE_SFP,
1241 FW_PORT_TYPE_BP_AP, 1241 FW_PORT_TYPE_BP_AP,
1242 FW_PORT_TYPE_BP4_AP,
1242 1243
1243 FW_PORT_TYPE_NONE = FW_PORT_CMD_PTYPE_MASK 1244 FW_PORT_TYPE_NONE = FW_PORT_CMD_PTYPE_MASK
1244}; 1245};