mlxsw: Remove 56G speed support
authorAmit Cohen <amitc@mellanox.com>
Wed, 28 Aug 2019 15:54:34 +0000 (18:54 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Aug 2019 01:24:04 +0000 (18:24 -0700)
Commit 275e928f1911 ("mlxsw: spectrum: Prevent force of 56G") prevented
the driver from setting a speed of 56G when auto-negotiation is off.
This is the only speed supported by mlxsw that cannot be set when
auto-negotiation is off, which makes it difficult to write generic
tests.

Further, the speed is not supported by newer ASICs such as Spectrum-2
and to the best of our knowledge it is not used by current users.

Therefore, remove 56G support from mlxsw.

Signed-off-by: Amit Cohen <amitc@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/reg.h
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
drivers/net/ethernet/mellanox/mlxsw/switchx2.c

index baa20cd..5494cf9 100644 (file)
@@ -4126,7 +4126,6 @@ MLXSW_ITEM32(reg, ptys, ext_eth_proto_cap, 0x08, 0, 32);
 #define MLXSW_REG_PTYS_ETH_SPEED_20GBASE_KR2           BIT(5)
 #define MLXSW_REG_PTYS_ETH_SPEED_40GBASE_CR4           BIT(6)
 #define MLXSW_REG_PTYS_ETH_SPEED_40GBASE_KR4           BIT(7)
-#define MLXSW_REG_PTYS_ETH_SPEED_56GBASE_R4            BIT(8)
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_CR            BIT(12)
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_SR            BIT(13)
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_ER_LR         BIT(14)
index 7de9833..4d1f8b9 100644 (file)
@@ -2609,26 +2609,6 @@ static const struct mlxsw_sp1_port_link_mode mlxsw_sp1_port_link_mode[] = {
                .speed          = SPEED_50000,
        },
        {
-               .mask           = MLXSW_REG_PTYS_ETH_SPEED_56GBASE_R4,
-               .mask_ethtool   = ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT,
-               .speed          = SPEED_56000,
-       },
-       {
-               .mask           = MLXSW_REG_PTYS_ETH_SPEED_56GBASE_R4,
-               .mask_ethtool   = ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT,
-               .speed          = SPEED_56000,
-       },
-       {
-               .mask           = MLXSW_REG_PTYS_ETH_SPEED_56GBASE_R4,
-               .mask_ethtool   = ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT,
-               .speed          = SPEED_56000,
-       },
-       {
-               .mask           = MLXSW_REG_PTYS_ETH_SPEED_56GBASE_R4,
-               .mask_ethtool   = ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT,
-               .speed          = SPEED_56000,
-       },
-       {
                .mask           = MLXSW_REG_PTYS_ETH_SPEED_100GBASE_CR4,
                .mask_ethtool   = ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT,
                .speed          = SPEED_100000,
@@ -3301,10 +3281,6 @@ mlxsw_sp_port_set_link_ksettings(struct net_device *dev,
        ops->reg_ptys_eth_unpack(mlxsw_sp, ptys_pl, &eth_proto_cap, NULL, NULL);
 
        autoneg = cmd->base.autoneg == AUTONEG_ENABLE;
-       if (!autoneg && cmd->base.speed == SPEED_56000) {
-               netdev_err(dev, "56G not supported with autoneg off\n");
-               return -EINVAL;
-       }
        eth_proto_new = autoneg ?
                ops->to_ptys_advert_link(mlxsw_sp, cmd) :
                ops->to_ptys_speed(mlxsw_sp, cmd->base.speed);
index bdab96f..1c14c05 100644 (file)
@@ -637,12 +637,6 @@ static const struct mlxsw_sx_port_link_mode mlxsw_sx_port_link_mode[] = {
                .speed          = 50000,
        },
        {
-               .mask           = MLXSW_REG_PTYS_ETH_SPEED_56GBASE_R4,
-               .supported      = SUPPORTED_56000baseKR4_Full,
-               .advertised     = ADVERTISED_56000baseKR4_Full,
-               .speed          = 56000,
-       },
-       {
                .mask           = MLXSW_REG_PTYS_ETH_SPEED_100GBASE_CR4 |
                                  MLXSW_REG_PTYS_ETH_SPEED_100GBASE_SR4 |
                                  MLXSW_REG_PTYS_ETH_SPEED_100GBASE_KR4 |