From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Jose Abreu <Jose.Abreu@synopsys.com>
Cc: netdev@vger.kernel.org, Joao Pinto <Joao.Pinto@synopsys.com>,
Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next 2/4] net: phy: xpcs: Return error upon RX/TX fault
Date: Fri, 13 Mar 2020 14:07:31 +0000 [thread overview]
Message-ID: <20200313140731.GD25745@shell.armlinux.org.uk> (raw)
In-Reply-To: <7918fdf6bbe6505a64e54ae360c59c905aa3fe1d.1584106347.git.Jose.Abreu@synopsys.com>
On Fri, Mar 13, 2020 at 02:39:41PM +0100, Jose Abreu wrote:
> RX/TX fault status results in link errors. Return error upon these cases
> so that XPCS can be correctly resumed.
Are you sure about this? I'm sure that I read in IEEE 802.3 that
a loss of link results in a receive fault being indicated in
status register 2.
See 49.2.14.1 describing "PCS_status" and the descriptions of MDIO
registers 3.1.2 and 3.8.10. Basically, the link status (3.1.2) is a
latched-low version of PCS_status, and 3.8.10 is an inverted version
of this, independently latched-high.
Returning -EFAULT seems to mean that we'll soft-reset the PHY, and
reconfigure it every time we attempt to read the status whenever the
link is down.
>
> Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
>
> ---
> Cc: Jose Abreu <Jose.Abreu@synopsys.com>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Heiner Kallweit <hkallweit1@gmail.com>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: netdev@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/net/phy/mdio-xpcs.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/phy/mdio-xpcs.c b/drivers/net/phy/mdio-xpcs.c
> index a4cbeecc6d42..23516397b982 100644
> --- a/drivers/net/phy/mdio-xpcs.c
> +++ b/drivers/net/phy/mdio-xpcs.c
> @@ -190,10 +190,14 @@ static int xpcs_read_fault(struct mdio_xpcs_args *xpcs,
> if (ret < 0)
> return ret;
>
> - if (ret & MDIO_STAT2_RXFAULT)
> + if (ret & MDIO_STAT2_RXFAULT) {
> xpcs_warn(xpcs, state, "Receiver fault detected!\n");
> - if (ret & MDIO_STAT2_TXFAULT)
> + return -EFAULT;
> + }
> + if (ret & MDIO_STAT2_TXFAULT) {
> xpcs_warn(xpcs, state, "Transmitter fault detected!\n");
> + return -EFAULT;
> + }
>
> ret = xpcs_read_vendor(xpcs, MDIO_MMD_PCS, DW_VR_XS_PCS_DIG_STS);
> if (ret < 0)
> --
> 2.7.4
>
>
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up
next prev parent reply other threads:[~2020-03-13 14:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-13 13:39 [PATCH net-next 0/4] net: phy: xpcs: Link errors improvements Jose Abreu
2020-03-13 13:39 ` [PATCH net-next 1/4] net: phy: xpcs: Clear latched value of RX/TX fault Jose Abreu
2020-03-13 14:01 ` Russell King - ARM Linux admin
2020-03-13 14:11 ` Jose Abreu
2020-03-13 13:39 ` [PATCH net-next 2/4] net: phy: xpcs: Return error upon " Jose Abreu
2020-03-13 14:07 ` Russell King - ARM Linux admin [this message]
2020-03-13 13:39 ` [PATCH net-next 3/4] net: phy: xpcs: Return error when 10GKR link errors are found Jose Abreu
2020-03-13 13:39 ` [PATCH net-next 4/4] net: phy: xpcs: Reset XPCS upon probe Jose Abreu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200313140731.GD25745@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=Joao.Pinto@synopsys.com \
--cc=Jose.Abreu@synopsys.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.