Message ID | 20210610004342.4493-1-praneeth@ti.com (mailing list archive) |
---|---|
State | Accepted |
Commit | da9ef50f545f86ffe6ff786174d26500c4db737a |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2] net: phy: dp83867: perform soft reset and retain established link | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Guessed tree name to be net-next |
netdev/subject_prefix | warning | Target tree name not specified in the subject |
netdev/cc_maintainers | warning | 2 maintainers not CCed: hkallweit1@gmail.com linux@armlinux.org.uk |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 17 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
On Wed, Jun 09, 2021 at 07:43:42PM -0500, praneeth@ti.com wrote: > From: Praneeth Bajjuri <praneeth@ti.com> > > Current logic is performing hard reset and causing the programmed > registers to be wiped out. > > as per datasheet: https://www.ti.com/lit/ds/symlink/dp83867cr.pdf > 8.6.26 Control Register (CTRL) > > do SW_RESTART to perform a reset not including the registers, > If performed when link is already present, > it will drop the link and trigger re-auto negotiation. > > Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> > Signed-off-by: Geet Modi <geet.modi@ti.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
Hello, On Thu, Jun 10, 2021 at 6:10 AM Andrew Lunn <andrew@lunn.ch> wrote: > > On Wed, Jun 09, 2021 at 07:43:42PM -0500, praneeth@ti.com wrote: > > From: Praneeth Bajjuri <praneeth@ti.com> > > > > Current logic is performing hard reset and causing the programmed > > registers to be wiped out. > > > > as per datasheet: https://www.ti.com/lit/ds/symlink/dp83867cr.pdf > > 8.6.26 Control Register (CTRL) > > > > do SW_RESTART to perform a reset not including the registers, > > If performed when link is already present, > > it will drop the link and trigger re-auto negotiation. > > > > Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> > > Signed-off-by: Geet Modi <geet.modi@ti.com> > > Reviewed-by: Andrew Lunn <andrew@lunn.ch> > > Andrew I reported a few days ago an issue with the DP83822 which I think is caused by a similar change. https://lore.kernel.org/netdev/CAHvQdo2yzJC89K74c_CZFjPydDQ5i22w36XPR5tKVv_W8a2vcg@mail.gmail.com/ In my case I can't get an link after this change, reverting it fixes the problem for me. Hannes
Hannes, On 6/10/2021 12:53 AM, Johannes Pointner wrote: > Hello, > > On Thu, Jun 10, 2021 at 6:10 AM Andrew Lunn <andrew@lunn.ch> wrote: >> >> On Wed, Jun 09, 2021 at 07:43:42PM -0500, praneeth@ti.com wrote: >>> From: Praneeth Bajjuri <praneeth@ti.com> >>> >>> Current logic is performing hard reset and causing the programmed >>> registers to be wiped out. >>> >>> as per datasheet: https://www.ti.com/lit/ds/symlink/dp83867cr.pdf >>> 8.6.26 Control Register (CTRL) >>> >>> do SW_RESTART to perform a reset not including the registers, >>> If performed when link is already present, >>> it will drop the link and trigger re-auto negotiation. >>> >>> Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> >>> Signed-off-by: Geet Modi <geet.modi@ti.com> >> >> Reviewed-by: Andrew Lunn <andrew@lunn.ch> >> >> Andrew > > I reported a few days ago an issue with the DP83822 which I think is > caused by a similar change. > https://lore.kernel.org/netdev/CAHvQdo2yzJC89K74c_CZFjPydDQ5i22w36XPR5tKVv_W8a2vcg@mail.gmail.com/ > In my case I can't get an link after this change, reverting it fixes > the problem for me. Are you saying that instead of reset if sw_restart is done as per this patch, there is no issue? > > Hannes >
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Wed, 9 Jun 2021 19:43:42 -0500 you wrote: > From: Praneeth Bajjuri <praneeth@ti.com> > > Current logic is performing hard reset and causing the programmed > registers to be wiped out. > > as per datasheet: https://www.ti.com/lit/ds/symlink/dp83867cr.pdf > 8.6.26 Control Register (CTRL) > > [...] Here is the summary with links: - [v2] net: phy: dp83867: perform soft reset and retain established link https://git.kernel.org/netdev/net/c/da9ef50f545f You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
Hello Praneeth, On Fri, Jun 11, 2021 at 7:05 PM Bajjuri, Praneeth <praneeth@ti.com> wrote: > > Hannes, > > On 6/10/2021 12:53 AM, Johannes Pointner wrote: > > Hello, > > > > On Thu, Jun 10, 2021 at 6:10 AM Andrew Lunn <andrew@lunn.ch> wrote: > >> > >> On Wed, Jun 09, 2021 at 07:43:42PM -0500, praneeth@ti.com wrote: > >>> From: Praneeth Bajjuri <praneeth@ti.com> > >>> > >>> Current logic is performing hard reset and causing the programmed > >>> registers to be wiped out. > >>> > >>> as per datasheet: https://www.ti.com/lit/ds/symlink/dp83867cr.pdf > >>> 8.6.26 Control Register (CTRL) > >>> > >>> do SW_RESTART to perform a reset not including the registers, > >>> If performed when link is already present, > >>> it will drop the link and trigger re-auto negotiation. > >>> > >>> Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> > >>> Signed-off-by: Geet Modi <geet.modi@ti.com> > >> > >> Reviewed-by: Andrew Lunn <andrew@lunn.ch> > >> > >> Andrew > > > > I reported a few days ago an issue with the DP83822 which I think is > > caused by a similar change. > > https://lore.kernel.org/netdev/CAHvQdo2yzJC89K74c_CZFjPydDQ5i22w36XPR5tKVv_W8a2vcg@mail.gmail.com/ > > In my case I can't get an link after this change, reverting it fixes > > the problem for me. > > Are you saying that instead of reset if sw_restart is done as per this > patch, there is no issue? In my case(DP83822 connected to an i.MX6) if the digital(SW) restart is used (Bit 14) I have the issue that I can' get a link. ip addr shows: 1: lo: <LOOPBACK> mtu 65536 qdisc noop qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:60:65:54:32:10 brd ff:ff:ff:ff:ff:ff If I revert this back to using the SW reset (Bit 15) it works again. Regards, Hannes
diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c index 9bd9a5c0b1db..6bbc81ad295f 100644 --- a/drivers/net/phy/dp83867.c +++ b/drivers/net/phy/dp83867.c @@ -826,16 +826,12 @@ static int dp83867_phy_reset(struct phy_device *phydev) { int err; - err = phy_write(phydev, DP83867_CTRL, DP83867_SW_RESET); + err = phy_write(phydev, DP83867_CTRL, DP83867_SW_RESTART); if (err < 0) return err; usleep_range(10, 20); - /* After reset FORCE_LINK_GOOD bit is set. Although the - * default value should be unset. Disable FORCE_LINK_GOOD - * for the phy to work properly. - */ return phy_modify(phydev, MII_DP83867_PHYCTRL, DP83867_PHYCR_FORCE_LINK_GOOD, 0); }