From: Michael Walle <hidden> Date: 2021-03-18 14:25:13
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1]. Remove it.
[1] https://lore.kernel.org/netdev/922c223b-7bc0-e0ec-345d-2034b796af91@gmail.com/
Suggested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Michael Walle <redacted>
---
drivers/net/phy/at803x.c | 31 -------------------------------
1 file changed, 31 deletions(-)
@@ -751,36 +751,6 @@ static void at803x_link_change_notify(struct phy_device *phydev)}}-staticintat803x_aneg_done(structphy_device*phydev)-{-intccr;--intaneg_done=genphy_aneg_done(phydev);-if(aneg_done!=BMSR_ANEGCOMPLETE)-returnaneg_done;--/*-*inSGMIImode,ifcoppersideautonegissuccessful,-*alsocheckSGMIIsideautonegresult-*/-ccr=phy_read(phydev,AT803X_REG_CHIP_CONFIG);-if((ccr&AT803X_MODE_CFG_MASK)!=AT803X_MODE_CFG_SGMII)-returnaneg_done;--/* switch to SGMII/fiber page */-phy_write(phydev,AT803X_REG_CHIP_CONFIG,ccr&~AT803X_BT_BX_REG_SEL);--/* check if the SGMII link is OK. */-if(!(phy_read(phydev,AT803X_PSSR)&AT803X_PSSR_MR_AN_COMPLETE)){-phydev_warn(phydev,"803x_aneg_done: SGMII link is not ok\n");-aneg_done=0;-}-/* switch back to copper page */-phy_write(phydev,AT803X_REG_CHIP_CONFIG,ccr|AT803X_BT_BX_REG_SEL);--returnaneg_done;-}-staticintat803x_read_status(structphy_device*phydev){intss,err,old_link=phydev->link;
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1]. Remove it.
Well, it's not dead, it's resting .. There are few places where
phy_aneg_done() is used. So you would need to explain:
- why these users can't be used with this PHY driver
- or why the aneg_done callback isn't needed here and the
genphy_aneg_done() fallback is sufficient
@@ -751,36 +751,6 @@ static void at803x_link_change_notify(struct phy_device *phydev)}}-staticintat803x_aneg_done(structphy_device*phydev)-{-intccr;--intaneg_done=genphy_aneg_done(phydev);-if(aneg_done!=BMSR_ANEGCOMPLETE)-returnaneg_done;--/*-*inSGMIImode,ifcoppersideautonegissuccessful,-*alsocheckSGMIIsideautonegresult-*/-ccr=phy_read(phydev,AT803X_REG_CHIP_CONFIG);-if((ccr&AT803X_MODE_CFG_MASK)!=AT803X_MODE_CFG_SGMII)-returnaneg_done;--/* switch to SGMII/fiber page */-phy_write(phydev,AT803X_REG_CHIP_CONFIG,ccr&~AT803X_BT_BX_REG_SEL);--/* check if the SGMII link is OK. */-if(!(phy_read(phydev,AT803X_PSSR)&AT803X_PSSR_MR_AN_COMPLETE)){-phydev_warn(phydev,"803x_aneg_done: SGMII link is not ok\n");-aneg_done=0;-}-/* switch back to copper page */-phy_write(phydev,AT803X_REG_CHIP_CONFIG,ccr|AT803X_BT_BX_REG_SEL);--returnaneg_done;-}-staticintat803x_read_status(structphy_device*phydev){intss,err,old_link=phydev->link;
From: Vladimir Oltean <olteanv@gmail.com> Date: 2021-03-18 15:17:58
On Thu, Mar 18, 2021 at 03:54:00PM +0100, Heiner Kallweit wrote:
On 18.03.2021 15:23, Michael Walle wrote:
quoted
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1]. Remove it.
Well, it's not dead, it's resting .. There are few places where
phy_aneg_done() is used. So you would need to explain:
- why these users can't be used with this PHY driver
- or why the aneg_done callback isn't needed here and the
genphy_aneg_done() fallback is sufficient
The piece of code that Michael is removing keeps the aneg reporting as
"not done" even when the copper-side link was reported as up, but the
in-band autoneg has not finished.
That was the _intended_ behavior when that code was introduced, and you
have said about it:
https://www.spinics.net/lists/stable/msg389193.html
| That's not nice from the PHY:
| It signals "link up", and if the system asks the PHY for link details,
| then it sheepishly says "well, link is *almost* up".
If the specification of phy_aneg_done behavior does not include in-band
autoneg (and it doesn't), then this piece of code does not belong here.
The fact that we can no longer trigger this code from phylib is yet
another reason why it fails at its intended (and wrong) purpose and
should be removed.
On Thu, Mar 18, 2021 at 03:54:00PM +0100, Heiner Kallweit wrote:
quoted
On 18.03.2021 15:23, Michael Walle wrote:
quoted
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1]. Remove it.
Well, it's not dead, it's resting .. There are few places where
phy_aneg_done() is used. So you would need to explain:
- why these users can't be used with this PHY driver
- or why the aneg_done callback isn't needed here and the
genphy_aneg_done() fallback is sufficient
The piece of code that Michael is removing keeps the aneg reporting as
"not done" even when the copper-side link was reported as up, but the
in-band autoneg has not finished.
That was the _intended_ behavior when that code was introduced, and you
have said about it:
https://www.spinics.net/lists/stable/msg389193.html
| That's not nice from the PHY:
| It signals "link up", and if the system asks the PHY for link details,
| then it sheepishly says "well, link is *almost* up".
If the specification of phy_aneg_done behavior does not include in-band
autoneg (and it doesn't), then this piece of code does not belong here.
The fact that we can no longer trigger this code from phylib is yet
another reason why it fails at its intended (and wrong) purpose and
should be removed.
I don't argue against the change, I just think that the current commit
description isn't sufficient. What you just said I would have expected
in the commit description.
From: Michael Walle <hidden> Date: 2021-03-18 16:39:17
Am 2021-03-18 17:21, schrieb Heiner Kallweit:
On 18.03.2021 16:17, Vladimir Oltean wrote:
quoted
On Thu, Mar 18, 2021 at 03:54:00PM +0100, Heiner Kallweit wrote:
quoted
On 18.03.2021 15:23, Michael Walle wrote:
quoted
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1]. Remove
it.
Well, it's not dead, it's resting .. There are few places where
phy_aneg_done() is used. So you would need to explain:
- why these users can't be used with this PHY driver
- or why the aneg_done callback isn't needed here and the
genphy_aneg_done() fallback is sufficient
The piece of code that Michael is removing keeps the aneg reporting as
"not done" even when the copper-side link was reported as up, but the
in-band autoneg has not finished.
That was the _intended_ behavior when that code was introduced, and
you
have said about it:
https://www.spinics.net/lists/stable/msg389193.html
| That's not nice from the PHY:
| It signals "link up", and if the system asks the PHY for link
details,
| then it sheepishly says "well, link is *almost* up".
If the specification of phy_aneg_done behavior does not include
in-band
autoneg (and it doesn't), then this piece of code does not belong
here.
The fact that we can no longer trigger this code from phylib is yet
another reason why it fails at its intended (and wrong) purpose and
should be removed.
I don't argue against the change, I just think that the current commit
description isn't sufficient. What you just said I would have expected
in the commit description.
I'll come up with a better one, Vladimir, may I use parts of the text
above?
-michael
From: Vladimir Oltean <olteanv@gmail.com> Date: 2021-03-18 17:04:39
On Thu, Mar 18, 2021 at 05:38:13PM +0100, Michael Walle wrote:
Am 2021-03-18 17:21, schrieb Heiner Kallweit:
quoted
On 18.03.2021 16:17, Vladimir Oltean wrote:
quoted
On Thu, Mar 18, 2021 at 03:54:00PM +0100, Heiner Kallweit wrote:
quoted
On 18.03.2021 15:23, Michael Walle wrote:
quoted
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1].
Remove it.
Well, it's not dead, it's resting .. There are few places where
phy_aneg_done() is used. So you would need to explain:
- why these users can't be used with this PHY driver
- or why the aneg_done callback isn't needed here and the
genphy_aneg_done() fallback is sufficient
The piece of code that Michael is removing keeps the aneg reporting as
"not done" even when the copper-side link was reported as up, but the
in-band autoneg has not finished.
That was the _intended_ behavior when that code was introduced, and
you
have said about it:
https://www.spinics.net/lists/stable/msg389193.html
| That's not nice from the PHY:
| It signals "link up", and if the system asks the PHY for link details,
| then it sheepishly says "well, link is *almost* up".
If the specification of phy_aneg_done behavior does not include
in-band
autoneg (and it doesn't), then this piece of code does not belong
here.
The fact that we can no longer trigger this code from phylib is yet
another reason why it fails at its intended (and wrong) purpose and
should be removed.
I don't argue against the change, I just think that the current commit
description isn't sufficient. What you just said I would have expected
in the commit description.
I'll come up with a better one, Vladimir, may I use parts of the text
above?
My words aren't copyrighted, so feel free, however you might want to
check with Heiner too for his part, you never know.
On Thu, Mar 18, 2021 at 05:38:13PM +0100, Michael Walle wrote:
quoted
Am 2021-03-18 17:21, schrieb Heiner Kallweit:
quoted
On 18.03.2021 16:17, Vladimir Oltean wrote:
quoted
On Thu, Mar 18, 2021 at 03:54:00PM +0100, Heiner Kallweit wrote:
quoted
On 18.03.2021 15:23, Michael Walle wrote:
quoted
at803x_aneg_done() is pretty much dead code since the patch series
"net: phy: improve and simplify phylib state machine" [1].
Remove it.
Well, it's not dead, it's resting .. There are few places where
phy_aneg_done() is used. So you would need to explain:
- why these users can't be used with this PHY driver
- or why the aneg_done callback isn't needed here and the
genphy_aneg_done() fallback is sufficient
The piece of code that Michael is removing keeps the aneg reporting as
"not done" even when the copper-side link was reported as up, but the
in-band autoneg has not finished.
That was the _intended_ behavior when that code was introduced, and
you
have said about it:
https://www.spinics.net/lists/stable/msg389193.html
| That's not nice from the PHY:
| It signals "link up", and if the system asks the PHY for link details,
| then it sheepishly says "well, link is *almost* up".
If the specification of phy_aneg_done behavior does not include
in-band
autoneg (and it doesn't), then this piece of code does not belong
here.
The fact that we can no longer trigger this code from phylib is yet
another reason why it fails at its intended (and wrong) purpose and
should be removed.
I don't argue against the change, I just think that the current commit
description isn't sufficient. What you just said I would have expected
in the commit description.
I'll come up with a better one, Vladimir, may I use parts of the text
above?
My words aren't copyrighted, so feel free, however you might want to
check with Heiner too for his part, you never know.
I'm not paid for the content of my mails, so feel free to quote.