Skip to content

Commit 5e6d9fc

Browse files
Rahul Vermadavem330
authored andcommitted
qed: Add new ethtool supported port types based on media.
Supported ports in ethtool <eth1> are displayed based on media type. For media type fibre and twinaxial, port type is "FIBRE". Media type Base-T is "TP" and media KR is "Backplane". V1->V2: Corrected the subject. Signed-off-by: Rahul Verma <[email protected]> Signed-off-by: Michal Kalderon <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent ad2dcba commit 5e6d9fc

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

drivers/net/ethernet/qlogic/qed/qed_main.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1688,6 +1688,7 @@ static void qed_fill_link_capability(struct qed_hwfn *hwfn,
16881688

16891689
switch (media_type) {
16901690
case MEDIA_DA_TWINAX:
1691+
*if_capability |= QED_LM_FIBRE_BIT;
16911692
if (capability & NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_20G)
16921693
*if_capability |= QED_LM_20000baseKR2_Full_BIT;
16931694
/* For DAC media multiple speed capabilities are supported*/
@@ -1707,6 +1708,7 @@ static void qed_fill_link_capability(struct qed_hwfn *hwfn,
17071708
*if_capability |= QED_LM_100000baseCR4_Full_BIT;
17081709
break;
17091710
case MEDIA_BASE_T:
1711+
*if_capability |= QED_LM_TP_BIT;
17101712
if (board_cfg & NVM_CFG1_PORT_PORT_TYPE_EXT_PHY) {
17111713
if (capability &
17121714
NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_1G) {
@@ -1718,6 +1720,7 @@ static void qed_fill_link_capability(struct qed_hwfn *hwfn,
17181720
}
17191721
}
17201722
if (board_cfg & NVM_CFG1_PORT_PORT_TYPE_MODULE) {
1723+
*if_capability |= QED_LM_FIBRE_BIT;
17211724
if (tcvr_type == ETH_TRANSCEIVER_TYPE_1000BASET)
17221725
*if_capability |= QED_LM_1000baseT_Full_BIT;
17231726
if (tcvr_type == ETH_TRANSCEIVER_TYPE_10G_BASET)
@@ -1728,6 +1731,7 @@ static void qed_fill_link_capability(struct qed_hwfn *hwfn,
17281731
case MEDIA_SFPP_10G_FIBER:
17291732
case MEDIA_XFP_FIBER:
17301733
case MEDIA_MODULE_FIBER:
1734+
*if_capability |= QED_LM_FIBRE_BIT;
17311735
if (capability &
17321736
NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_1G) {
17331737
if ((tcvr_type == ETH_TRANSCEIVER_TYPE_1G_LX) ||
@@ -1770,6 +1774,7 @@ static void qed_fill_link_capability(struct qed_hwfn *hwfn,
17701774

17711775
break;
17721776
case MEDIA_KR:
1777+
*if_capability |= QED_LM_Backplane_BIT;
17731778
if (capability & NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_20G)
17741779
*if_capability |= QED_LM_20000baseKR2_Full_BIT;
17751780
if (capability &
@@ -1821,7 +1826,6 @@ static void qed_fill_link(struct qed_hwfn *hwfn,
18211826
if_link->link_up = true;
18221827

18231828
/* TODO - at the moment assume supported and advertised speed equal */
1824-
if_link->supported_caps = QED_LM_FIBRE_BIT;
18251829
if (link_caps.default_speed_autoneg)
18261830
if_link->supported_caps |= QED_LM_Autoneg_BIT;
18271831
if (params.pause.autoneg ||

drivers/net/ethernet/qlogic/qede/qede_ethtool.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,12 +424,13 @@ struct qede_link_mode_mapping {
424424
};
425425

426426
static const struct qede_link_mode_mapping qed_lm_map[] = {
427+
{QED_LM_FIBRE_BIT, ETHTOOL_LINK_MODE_FIBRE_BIT},
427428
{QED_LM_Autoneg_BIT, ETHTOOL_LINK_MODE_Autoneg_BIT},
428429
{QED_LM_Asym_Pause_BIT, ETHTOOL_LINK_MODE_Asym_Pause_BIT},
429430
{QED_LM_Pause_BIT, ETHTOOL_LINK_MODE_Pause_BIT},
430431
{QED_LM_1000baseT_Full_BIT, ETHTOOL_LINK_MODE_1000baseT_Full_BIT},
431432
{QED_LM_10000baseT_Full_BIT, ETHTOOL_LINK_MODE_10000baseT_Full_BIT},
432-
{QED_LM_2500baseX_Full_BIT, ETHTOOL_LINK_MODE_2500baseX_Full_BIT},
433+
{QED_LM_TP_BIT, ETHTOOL_LINK_MODE_TP_BIT},
433434
{QED_LM_Backplane_BIT, ETHTOOL_LINK_MODE_Backplane_BIT},
434435
{QED_LM_1000baseKX_Full_BIT, ETHTOOL_LINK_MODE_1000baseKX_Full_BIT},
435436
{QED_LM_10000baseKX4_Full_BIT, ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT},

include/linux/qed/qed_if.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ enum qed_link_mode_bits {
689689
QED_LM_40000baseLR4_Full_BIT = BIT(9),
690690
QED_LM_50000baseKR2_Full_BIT = BIT(10),
691691
QED_LM_100000baseKR4_Full_BIT = BIT(11),
692-
QED_LM_2500baseX_Full_BIT = BIT(12),
692+
QED_LM_TP_BIT = BIT(12),
693693
QED_LM_Backplane_BIT = BIT(13),
694694
QED_LM_1000baseKX_Full_BIT = BIT(14),
695695
QED_LM_10000baseKX4_Full_BIT = BIT(15),

0 commit comments

Comments
 (0)