Commit ab9cb729 authored by Andrew Lunn's avatar Andrew Lunn Committed by David S. Miller

phy: marvell: Rename mii_lpa_to_linkmode_lpa_t

Rename mii_lpa_to_linkmode_lpa_t to mii_lpa_mod_linkmode_lpa_t to
indicate it modifies the passed linkmode bitmap, without clearing any
other bits.

Also, ensure bit are clear which the lpa indicates should not be set.

Fixes: c0ec3c27 ("net: phy: Convert u32 phydev->lp_advertising to linkmode")
Suggested-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 78a24df3
...@@ -1047,21 +1047,21 @@ static int m88e1145_config_init(struct phy_device *phydev) ...@@ -1047,21 +1047,21 @@ static int m88e1145_config_init(struct phy_device *phydev)
} }
/** /**
* fiber_lpa_to_linkmode_lpa_t * fiber_lpa_mod_linkmode_lpa_t
* @advertising: the linkmode advertisement settings * @advertising: the linkmode advertisement settings
* @lpa: value of the MII_LPA register for fiber link * @lpa: value of the MII_LPA register for fiber link
* *
* A small helper function that translates MII_LPA * A small helper function that translates MII_LPA bits to linkmode LP
* bits to linkmode LP advertisement settings. * advertisement settings. Other bits in advertising are left
* unchanged.
*/ */
static void fiber_lpa_to_linkmode_lpa_t(unsigned long *advertising, u32 lpa) static void fiber_lpa_mod_linkmode_lpa_t(unsigned long *advertising, u32 lpa)
{ {
if (lpa & LPA_FIBER_1000HALF) linkmode_mod_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT,
linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT, advertising, lpa & LPA_FIBER_1000HALF);
advertising);
if (lpa & LPA_FIBER_1000FULL) linkmode_mod_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT, advertising, lpa & LPA_FIBER_1000FULL);
advertising);
} }
/** /**
...@@ -1146,7 +1146,7 @@ static int marvell_read_status_page_an(struct phy_device *phydev, ...@@ -1146,7 +1146,7 @@ static int marvell_read_status_page_an(struct phy_device *phydev,
} }
} else { } else {
/* The fiber link is only 1000M capable */ /* The fiber link is only 1000M capable */
fiber_lpa_to_linkmode_lpa_t(phydev->lp_advertising, lpa); fiber_lpa_mod_linkmode_lpa_t(phydev->lp_advertising, lpa);
if (phydev->duplex == DUPLEX_FULL) { if (phydev->duplex == DUPLEX_FULL) {
if (!(lpa & LPA_PAUSE_FIBER)) { if (!(lpa & LPA_PAUSE_FIBER)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment