From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: "Madalin Bucur (OSS)" <madalin.bucur@oss.nxp.com>
Cc: "davem@davemloft.net" <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"andrew@lunn.ch" <andrew@lunn.ch>,
"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
"hkallweit1@gmail.com" <hkallweit1@gmail.com>,
"shawnguo@kernel.org" <shawnguo@kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH 1/6] net: phy: add interface modes for XFI, SFI
Date: Thu, 19 Dec 2019 21:49:30 +0000 [thread overview]
Message-ID: <20191219214930.GG25745@shell.armlinux.org.uk> (raw)
In-Reply-To: <VI1PR04MB5567010C06EB9A4734431106EC520@VI1PR04MB5567.eurprd04.prod.outlook.com>
On Thu, Dec 19, 2019 at 09:34:57PM +0000, Madalin Bucur (OSS) wrote:
> > -----Original Message-----
> > From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
> > Sent: Thursday, December 19, 2019 9:03 PM
> > To: Madalin Bucur <madalin.bucur@nxp.com>
> > Cc: davem@davemloft.net; netdev@vger.kernel.org; andrew@lunn.ch;
> > f.fainelli@gmail.com; hkallweit1@gmail.com; shawnguo@kernel.org;
> > devicetree@vger.kernel.org
> > Subject: Re: [PATCH 1/6] net: phy: add interface modes for XFI, SFI
> >
> > On Thu, Dec 19, 2019 at 06:32:51PM +0000, Madalin Bucur wrote:
> > > > -----Original Message-----
> > > > From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
> > > > Sent: Thursday, December 19, 2019 7:29 PM
> > > > To: Madalin Bucur <madalin.bucur@nxp.com>
> > > > Cc: davem@davemloft.net; netdev@vger.kernel.org; andrew@lunn.ch;
> > > > f.fainelli@gmail.com; hkallweit1@gmail.com; shawnguo@kernel.org;
> > > > devicetree@vger.kernel.org
> > > > Subject: Re: [PATCH 1/6] net: phy: add interface modes for XFI, SFI
> > > >
> > > > On Thu, Dec 19, 2019 at 05:21:16PM +0200, Madalin Bucur wrote:
> > > > > From: Madalin Bucur <madalin.bucur@nxp.com>
> > > > >
> > > > > Add explicit entries for XFI, SFI to make sure the device
> > > > > tree entries for phy-connection-type "xfi" or "sfi" are
> > > > > properly parsed and differentiated against the existing
> > > > > backplane 10GBASE-KR mode.
> > > >
> > > > 10GBASE-KR is actually used for XFI and SFI (due to a slight mistake
> > on
> > > > my part, it should've been just 10GBASE-R).
> > > >
> > > > Please explain exactly what the difference is between XFI, SFI and
> > > > 10GBASE-R. I have not been able to find definitive definitions for
> > > > XFI and SFI anywhere, and they appear to be precisely identical to
> > > > 10GBASE-R. It seems that it's just a terminology thing, with
> > > > different groups wanting to "own" what is essentially exactly the
> > > > same interface type.
> > >
> > > Hi Russell,
> > >
> > > 10GBase-R could be used as a common nominator but just as well 10G and
> > > remove the rest while we're at it. There are/may be differences in
> > > features, differences in the way the HW is configured (the most
> > > important aspect) and one should be able to determine what interface
> > > type is in use to properly configure the HW. SFI does not have the CDR
> > > function in the PMD, relying on the PMA signal conditioning vs the XFI
> > > that requires this in the PMD. We kept the xgmii compatible for so long
> > > without much issues until someone started cleaning up the PHY supported
> > > modes. Since we're doing that, let's be rigorous. The 10GBase-KR is
> > > important too, we have some backplane code in preparation and having it
> > > there could pave the way for a simpler integration.
> >
> > The problem we currently have is:
> >
> > $ grep '10gbase-kr' arch/*/boot/dts -r
> >
> > virtually none of those are actually backplane. For the mcbin matches,
> > these are either to a 88x3310 PHY for the doubleshot, which dynamically
> > operates between XFI, 5GBASE-R, 2500BASE-X, or SGMII according to the
> > datasheet.
>
> Yes, I've seen it's used already in several places:
>
> $ grep PHY_INTERFACE_MODE_10GKR drivers/net -nr
> drivers/net/phy/marvell10g.c:219: if (iface != PHY_INTERFACE_MODE_10GKR) {
> drivers/net/phy/marvell10g.c:307: phydev->interface != PHY_INTERFACE_MODE_10GKR)
> drivers/net/phy/marvell10g.c:389: phydev->interface == PHY_INTERFACE_MODE_10GKR) && phydev->link) {
> drivers/net/phy/marvell10g.c:398: phydev->interface = PHY_INTERFACE_MODE_10GKR;
> drivers/net/phy/phylink.c:296: case PHY_INTERFACE_MODE_10GKR:
> drivers/net/phy/aquantia_main.c:361: phydev->interface = PHY_INTERFACE_MODE_10GKR;
> drivers/net/phy/aquantia_main.c:499: phydev->interface != PHY_INTERFACE_MODE_10GKR)
> drivers/net/phy/sfp-bus.c:340: return PHY_INTERFACE_MODE_10GKR;
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1117: return interface == PHY_INTERFACE_MODE_10GKR ||
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1203: case PHY_INTERFACE_MODE_10GKR:
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1652: case PHY_INTERFACE_MODE_10GKR:
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:4761: case PHY_INTERFACE_MODE_10GKR:
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:4783: case PHY_INTERFACE_MODE_10GKR:
>
> We should fix this, if it's incorrect.
>
> > If we add something else, then the problem becomes what to do about
> > that lot - one of the problems is, it seems we're going to be breaking
> > DT compatibility by redefining 10gbase-kr to be correct.
>
> We need the committer/maintainer to update that to a correct value.
The general principle is, we don't break existing DT - in that, we
expect DT files from current kernels to work with future kernels. So,
we're kind of stuck with "10gbase-kr" being used for this at least in
the medium term.
By all means introduce "xfi" and "sfi" if you think that there is a
need to discriminate between the two, but I've seen no hardware which
that treats them any differently from 10gbase-r.
If we want to support real 10gbase-kr, then I think we need to consider
how to do that without affecting compatibility with what we already
have.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
next prev parent reply other threads:[~2019-12-19 21:49 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-19 15:21 [PATCH 0/6] Add PHY connection types for XFI and SFI Madalin Bucur
2019-12-19 15:21 ` [PATCH 1/6] net: phy: add interface modes for XFI, SFI Madalin Bucur
2019-12-19 17:28 ` Russell King - ARM Linux admin
2019-12-19 18:32 ` Madalin Bucur
2019-12-19 19:03 ` Russell King - ARM Linux admin
2019-12-19 21:34 ` Madalin Bucur (OSS)
2019-12-19 21:49 ` Russell King - ARM Linux admin [this message]
2019-12-20 7:38 ` Madalin Bucur (OSS)
2019-12-20 9:16 ` Russell King - ARM Linux admin
2019-12-20 9:29 ` Andrew Lunn
2019-12-20 9:39 ` Madalin Bucur (OSS)
2019-12-20 10:06 ` Andrew Lunn
2019-12-23 7:50 ` Madalin Bucur (OSS)
2019-12-23 8:26 ` Russell King - ARM Linux admin
2019-12-23 9:57 ` Madalin Bucur (OSS)
2019-12-23 10:57 ` Russell King - ARM Linux admin
2019-12-23 12:07 ` Russell King - ARM Linux admin
2019-12-23 13:46 ` Andrew Lunn
2019-12-23 14:30 ` Russell King - ARM Linux admin
2020-01-03 7:01 ` Madalin Bucur (OSS)
2020-01-03 9:27 ` Russell King - ARM Linux admin
2020-01-03 9:42 ` Russell King - ARM Linux admin
2020-01-03 12:03 ` Madalin Bucur (OSS)
2020-01-03 12:53 ` Russell King - ARM Linux admin
2020-01-03 13:35 ` Andrew Lunn
2020-01-03 16:21 ` Madalin Bucur (OSS)
2020-01-03 17:17 ` Andrew Lunn
2020-01-06 9:34 ` Madalin Bucur (OSS)
2020-01-03 15:57 ` Madalin Bucur (OSS)
2020-01-03 17:19 ` Russell King - ARM Linux admin
2020-01-06 10:17 ` Madalin Bucur (OSS)
2020-01-06 13:57 ` Andrew Lunn
2020-01-06 15:03 ` Madalin Bucur (OSS)
2019-12-19 15:21 ` [PATCH 2/6] arm64: dts: ls104xardb: set correct PHY interface mode Madalin Bucur
2019-12-19 16:05 ` Andrew Lunn
2019-12-19 18:09 ` Madalin Bucur (OSS)
2019-12-19 15:21 ` [PATCH 3/6] net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G Madalin Bucur
2019-12-19 15:21 ` [PATCH 4/6] net: fsl/fman: add support for PHY_INTERFACE_MODE_XFI Madalin Bucur
2019-12-19 15:21 ` [PATCH 5/6] net: fsl/fman: add support for PHY_INTERFACE_MODE_SFI Madalin Bucur
2019-12-19 17:30 ` Russell King - ARM Linux admin
2019-12-19 18:50 ` Madalin Bucur (OSS)
2019-12-19 15:21 ` [PATCH 6/6] net: phy: aquantia: add support for PHY_INTERFACE_MODE_XFI Madalin Bucur
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=20191219214930.GG25745@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=madalin.bucur@oss.nxp.com \
--cc=netdev@vger.kernel.org \
--cc=shawnguo@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.