netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: "Madalin Bucur (OSS)" <madalin.bucur@oss.nxp.com>
Cc: "antoine.tenart@free-electrons.com" 
	<antoine.tenart@free-electrons.com>,
	"jaz@semihalf.com" <jaz@semihalf.com>,
	"baruch@tkos.co.il" <baruch@tkos.co.il>,
	"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: Fri, 20 Dec 2019 09:16:42 +0000	[thread overview]
Message-ID: <20191220091642.GJ25745@shell.armlinux.org.uk> (raw)
In-Reply-To: <VI1PR04MB556768668EEEDFD61B7AA518EC2D0@VI1PR04MB5567.eurprd04.prod.outlook.com>

On Fri, Dec 20, 2019 at 07:38:45AM +0000, Madalin Bucur (OSS) wrote:
> > -----Original Message-----
> > From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
> > 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>
> > > > 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>
> > > > > >
> > > > > > 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
> 
> I've looked at the device tree entries using 10GBase-KR:
> 
> all these are disabled:
> 
> // disabled, commit mentions interface is SFI, jaz@semihalf.com
> arch/arm64/boot/dts/marvell/cn9132-db.dts:107:  phy-mode = "10gbase-kr";
> 
> // disabled, SFI with SFP cage, jaz@semihalf.com
> arch/arm64/boot/dts/marvell/cn9130-db.dts:131:  phy-mode = "10gbase-kr";
> arch/arm64/boot/dts/marvell/cn9131-db.dts:89:   phy-mode = "10gbase-kr";
> 
> these are used:
> 
> // SFP ports, antoine.tenart@free-electrons.com
> arch/arm64/boot/dts/marvell/armada-7040-db.dts:279:     phy-mode = "10gbase-kr"; 
> arch/arm64/boot/dts/marvell/armada-8040-db.dts:190:     phy-mode = "10gbase-kr";
> arch/arm64/boot/dts/marvell/armada-8040-db.dts:334:     phy-mode = "10gbase-kr";
> 
> // SFP, 10GKR, antoine.tenart@free-electrons.com
> arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts:37:   phy-mode = "10gbase-kr";
> arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts:44:   phy-mode = "10gbase-kr";
> 
> // SFP, baruch@tkos.co.il
> arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts:279: phy-mode = "10gbase-kr";
> 
> // SFP+, rmk+kernel@armlinux.org.uk
> arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dts:19:        phy-mode = "10gbase-kr"; 
> arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dts:26:        phy-mode = "10gbase-kr"; 
> 
> I've added the information I could derive from the commit message.
> Maybe the original authors of the commits can help us with more
> information on the actual HW capabilities/operation mode.

How does this help us when we can't simply change the existing usage?
We can update the DT but we can't free up the usage of "10gbase-kr".

-- 
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

  reply	other threads:[~2019-12-20  9:17 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
2019-12-20  7:38             ` Madalin Bucur (OSS)
2019-12-20  9:16               ` Russell King - ARM Linux admin [this message]
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=20191220091642.GJ25745@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=antoine.tenart@free-electrons.com \
    --cc=baruch@tkos.co.il \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=jaz@semihalf.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).