diff options
| author | Ganesh Goudar <ganeshgr@chelsio.com> | 2017-12-28 01:37:15 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-12-28 12:09:08 -0500 |
| commit | b39ab1409769994129057940eafbdf2460e6e8b0 (patch) | |
| tree | 29d00c2a5c998b7207339d8967a286482ae84808 | |
| parent | b9525301b117ba48d20aafcc9c5cf9d7a9cac00f (diff) | |
cxgb4/cxgb4vf: support for XLAUI Port Type
Add support for new Backplane XLAUI port type.
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c | 10 | ||||
| -rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 1 | ||||
| -rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h | 1 | ||||
| -rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 10 |
4 files changed, 20 insertions, 2 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c index 541419b084ac..7852d98bad75 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c | |||
| @@ -517,7 +517,8 @@ static int from_fw_port_mod_type(enum fw_port_type port_type, | |||
| 517 | else | 517 | else |
| 518 | return PORT_OTHER; | 518 | return PORT_OTHER; |
| 519 | } else if (port_type == FW_PORT_TYPE_KR4_100G || | 519 | } else if (port_type == FW_PORT_TYPE_KR4_100G || |
| 520 | port_type == FW_PORT_TYPE_KR_SFP28) { | 520 | port_type == FW_PORT_TYPE_KR_SFP28 || |
| 521 | port_type == FW_PORT_TYPE_KR_XLAUI) { | ||
| 521 | return PORT_NONE; | 522 | return PORT_NONE; |
| 522 | } | 523 | } |
| 523 | 524 | ||
| @@ -645,6 +646,13 @@ static void fw_caps_to_lmm(enum fw_port_type port_type, | |||
| 645 | FW_CAPS_TO_LMM(SPEED_25G, 25000baseKR_Full); | 646 | FW_CAPS_TO_LMM(SPEED_25G, 25000baseKR_Full); |
| 646 | break; | 647 | break; |
| 647 | 648 | ||
| 649 | case FW_PORT_TYPE_KR_XLAUI: | ||
| 650 | SET_LMM(Backplane); | ||
| 651 | FW_CAPS_TO_LMM(SPEED_1G, 1000baseKX_Full); | ||
| 652 | FW_CAPS_TO_LMM(SPEED_10G, 10000baseKR_Full); | ||
| 653 | FW_CAPS_TO_LMM(SPEED_40G, 40000baseKR4_Full); | ||
| 654 | break; | ||
| 655 | |||
| 648 | case FW_PORT_TYPE_CR2_QSFP: | 656 | case FW_PORT_TYPE_CR2_QSFP: |
| 649 | SET_LMM(FIBRE); | 657 | SET_LMM(FIBRE); |
| 650 | SET_LMM(50000baseSR2_Full); | 658 | SET_LMM(50000baseSR2_Full); |
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c index 44930ca06c4b..f2a60e01d563 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | |||
| @@ -6084,6 +6084,7 @@ const char *t4_get_port_type_description(enum fw_port_type port_type) | |||
| 6084 | "CR2_QSFP", | 6084 | "CR2_QSFP", |
| 6085 | "SFP28", | 6085 | "SFP28", |
| 6086 | "KR_SFP28", | 6086 | "KR_SFP28", |
| 6087 | "KR_XLAUI" | ||
| 6087 | }; | 6088 | }; |
| 6088 | 6089 | ||
| 6089 | if (port_type < ARRAY_SIZE(port_type_description)) | 6090 | if (port_type < ARRAY_SIZE(port_type_description)) |
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h b/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h index 01f5a5ec16fa..427f252a9087 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h +++ b/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h | |||
| @@ -2829,6 +2829,7 @@ enum fw_port_type { | |||
| 2829 | FW_PORT_TYPE_CR2_QSFP, | 2829 | FW_PORT_TYPE_CR2_QSFP, |
| 2830 | FW_PORT_TYPE_SFP28, | 2830 | FW_PORT_TYPE_SFP28, |
| 2831 | FW_PORT_TYPE_KR_SFP28, | 2831 | FW_PORT_TYPE_KR_SFP28, |
| 2832 | FW_PORT_TYPE_KR_XLAUI, | ||
| 2832 | 2833 | ||
| 2833 | FW_PORT_TYPE_NONE = FW_PORT_CMD_PTYPE_M | 2834 | FW_PORT_TYPE_NONE = FW_PORT_CMD_PTYPE_M |
| 2834 | }; | 2835 | }; |
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c index b48361cfdc78..96f69f80dc99 100644 --- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | |||
| @@ -1229,7 +1229,8 @@ static int from_fw_port_mod_type(enum fw_port_type port_type, | |||
| 1229 | else | 1229 | else |
| 1230 | return PORT_OTHER; | 1230 | return PORT_OTHER; |
| 1231 | } else if (port_type == FW_PORT_TYPE_KR4_100G || | 1231 | } else if (port_type == FW_PORT_TYPE_KR4_100G || |
| 1232 | port_type == FW_PORT_TYPE_KR_SFP28) { | 1232 | port_type == FW_PORT_TYPE_KR_SFP28 || |
| 1233 | port_type == FW_PORT_TYPE_KR_XLAUI) { | ||
| 1233 | return PORT_NONE; | 1234 | return PORT_NONE; |
| 1234 | } | 1235 | } |
| 1235 | 1236 | ||
| @@ -1323,6 +1324,13 @@ static void fw_caps_to_lmm(enum fw_port_type port_type, | |||
| 1323 | SET_LMM(25000baseKR_Full); | 1324 | SET_LMM(25000baseKR_Full); |
| 1324 | break; | 1325 | break; |
| 1325 | 1326 | ||
| 1327 | case FW_PORT_TYPE_KR_XLAUI: | ||
| 1328 | SET_LMM(Backplane); | ||
| 1329 | FW_CAPS_TO_LMM(SPEED_1G, 1000baseKX_Full); | ||
| 1330 | FW_CAPS_TO_LMM(SPEED_10G, 10000baseKR_Full); | ||
| 1331 | FW_CAPS_TO_LMM(SPEED_40G, 40000baseKR4_Full); | ||
| 1332 | break; | ||
| 1333 | |||
| 1326 | case FW_PORT_TYPE_CR2_QSFP: | 1334 | case FW_PORT_TYPE_CR2_QSFP: |
| 1327 | SET_LMM(FIBRE); | 1335 | SET_LMM(FIBRE); |
| 1328 | SET_LMM(50000baseSR2_Full); | 1336 | SET_LMM(50000baseSR2_Full); |
