Commit db68ca0e authored by Jian Shen's avatar Jian Shen Committed by David S. Miller
Browse files

net: hns3: convert mac advertize and supported from u32 to link mode



The link mode with bits has been up to more than 31 for some MAC
and phy. Convert to using a linkmode bitmap, which can support all
link modes.

Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 676131f7
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -839,27 +839,27 @@ static void hclge_parse_fiber_link_mode(struct hclge_dev *hdev,
	unsigned long *supported = hdev->hw.mac.supported;

	if (speed_ability & HCLGE_SUPPORT_1G_BIT)
		set_bit(ETHTOOL_LINK_MODE_1000baseX_Full_BIT,
		linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseX_Full_BIT,
				 supported);

	if (speed_ability & HCLGE_SUPPORT_10G_BIT)
		set_bit(ETHTOOL_LINK_MODE_10000baseSR_Full_BIT,
		linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseSR_Full_BIT,
				 supported);

	if (speed_ability & HCLGE_SUPPORT_25G_BIT)
		set_bit(ETHTOOL_LINK_MODE_25000baseSR_Full_BIT,
		linkmode_set_bit(ETHTOOL_LINK_MODE_25000baseSR_Full_BIT,
				 supported);

	if (speed_ability & HCLGE_SUPPORT_50G_BIT)
		set_bit(ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT,
		linkmode_set_bit(ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT,
				 supported);

	if (speed_ability & HCLGE_SUPPORT_100G_BIT)
		set_bit(ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT,
		linkmode_set_bit(ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT,
				 supported);

	set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, supported);
	set_bit(ETHTOOL_LINK_MODE_Pause_BIT, supported);
	linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, supported);
	linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT, supported);
}

static void hclge_parse_link_mode(struct hclge_dev *hdev, u8 speed_ability)