bnxt_en: Extend autoneg to all speeds.
Allow all autoneg speeds aupported by firmware to be advertised. If the advertising parameter is 0, then all supported speeds will be advertised. Remove BNXT_ALL_COPPER_ETHTOOL_SPEED which is no longer used as all supported speeds can be advertised. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4b32cacca2
commit
f1a082a6f7
|
@ -757,10 +757,6 @@ struct bnxt_ntuple_filter {
|
|||
#define BNXT_FLTR_UPDATE 1
|
||||
};
|
||||
|
||||
#define BNXT_ALL_COPPER_ETHTOOL_SPEED \
|
||||
(ADVERTISED_100baseT_Full | ADVERTISED_1000baseT_Full | \
|
||||
ADVERTISED_10000baseT_Full)
|
||||
|
||||
struct bnxt_link_info {
|
||||
u8 media_type;
|
||||
u8 transceiver;
|
||||
|
|
|
@ -696,16 +696,10 @@ static int bnxt_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
|
|||
return rc;
|
||||
|
||||
if (cmd->autoneg == AUTONEG_ENABLE) {
|
||||
if (link_info->media_type != PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP) {
|
||||
netdev_err(dev, "Media type doesn't support autoneg\n");
|
||||
rc = -EINVAL;
|
||||
goto set_setting_exit;
|
||||
}
|
||||
if (cmd->advertising & ~(BNXT_ALL_COPPER_ETHTOOL_SPEED |
|
||||
ADVERTISED_Autoneg |
|
||||
ADVERTISED_TP |
|
||||
ADVERTISED_Pause |
|
||||
ADVERTISED_Asym_Pause)) {
|
||||
u32 supported_spds = bnxt_fw_to_ethtool_support_spds(link_info);
|
||||
|
||||
if (cmd->advertising & ~(supported_spds | ADVERTISED_Autoneg |
|
||||
ADVERTISED_TP | ADVERTISED_FIBRE)) {
|
||||
netdev_err(dev, "Unsupported advertising mask (adv: 0x%x)\n",
|
||||
cmd->advertising);
|
||||
rc = -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue