Subject: Re: [PATCH 1/6] net: phy: add interface modes for XFI, SFI

From: Russell King - ARM Linux admin <[email-masked]>
Date: Fri, 3 Jan 2020 09:27:18 +0000

On Fri, Jan 03, 2020 at 07:01:50AM +0000, Madalin Bucur (OSS) wrote:
> > -----Original Message-----
> > From: Russell King - ARM Linux admin <[email-masked]>
> > Sent: Monday, December 23, 2019 2:08 PM
> > To: Madalin Bucur <[email-masked]>
> > Cc: [email-masked]; [email-masked]; [email-masked];
> > [email-masked]; [email-masked]; [email-masked];
> > [email-masked]
> > 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:
> > > 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.
> > 
> > I've now found a copy of INF-8077i on the net, which seems to be the
> > document that defines XFI. The definition in there seems to be very
> > similar to SFI in that it is an electrical specification, not a
> > protocol specification, and, just like SFI, it defines the electrical
> > characteristics at the cage, not at the serdes. Therefore, the effects
> > of the board layout come into play to achieve compliance with XFI.
> 
> I think we're missing the point here: we need to start from the device
> tree and that is supposed to describe the board, the hardware, not to
> configure the software. Please re-read the paragraph above in this key:
> the device tree needs to describe the HW features, those electrical
> properties you are discussing above. The fact that we use a certain
> protocol over it, by choice in software, does not change the HW and it
> should not change the device tree describing it.

phy_interface_t does *NOT* describe the electrical properties of the
link; it describes the protocol. The protocol for 10GBASE-R, SFI and
XFI are *all* the same. Therefore, phy_interface_t does *not*
distinguish between these.

Yes, DT may need to describe the electrical properties. That needs to
be done independently of the phy_interface_t and therefore phy-mode
definition.

Just like it is done for SATA interfaces that need the eye mask
(electrical properties of the serdes) adjusted for the board.

> > Just like SFI, XFI can be used with multiple different underlying
> > protocols. I quote:
> > 
> >   "The XFI interface is designed to support SONET OC-192,
> >   IEEE.Std-802.3ae, 10GFC and G.709(OTU-2) applications."
> > 
> > Therefore, to describe 10GBASE-R as "XFI" is most definitely incorrect.
> > 10GBASE-R is just _one_ protocol that can be run over XFI, but it is
> > not the only one.
> 
> Exactly why the chip to chip interface described by the device tree needs
> to be xfi not 10GBASE-R,

Sorry no.

Merely specifying "xfi" does not tell you what you need to do to achieve
XFI compliance at the point defined in INF8077i.  Plus, XFI can also be
protocols _other_ than 10GBASE-R.

Claiming that "XFI" properly defines the interface is utter rubbish. It
does not. XFI defines the electrical characteristics *only* and not
the underlying protocol. It is not limited to 10GBASE-R, but includes
other protocols as well.

XFI is not a phy interface type.  Sorry.

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