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: Jian Shen <shenjian15@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
676131f7c5
commit
db68ca0ef7
@ -839,27 +839,27 @@ static void hclge_parse_fiber_link_mode(struct hclge_dev *hdev,
|
|||||||
unsigned long *supported = hdev->hw.mac.supported;
|
unsigned long *supported = hdev->hw.mac.supported;
|
||||||
|
|
||||||
if (speed_ability & HCLGE_SUPPORT_1G_BIT)
|
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);
|
supported);
|
||||||
|
|
||||||
if (speed_ability & HCLGE_SUPPORT_10G_BIT)
|
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);
|
supported);
|
||||||
|
|
||||||
if (speed_ability & HCLGE_SUPPORT_25G_BIT)
|
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);
|
supported);
|
||||||
|
|
||||||
if (speed_ability & HCLGE_SUPPORT_50G_BIT)
|
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);
|
supported);
|
||||||
|
|
||||||
if (speed_ability & HCLGE_SUPPORT_100G_BIT)
|
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);
|
supported);
|
||||||
|
|
||||||
set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, supported);
|
linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, supported);
|
||||||
set_bit(ETHTOOL_LINK_MODE_Pause_BIT, supported);
|
linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT, supported);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void hclge_parse_link_mode(struct hclge_dev *hdev, u8 speed_ability)
|
static void hclge_parse_link_mode(struct hclge_dev *hdev, u8 speed_ability)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user