public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com>
To: Sean Anderson <sean.anderson@seco.com>
Cc: netdev@vger.kernel.org, Andrew Lunn <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Paolo Abeni <pabeni@redhat.com>,
	Eric Dumazet <edumazet@google.com>,
	Alexandru Marginean <alexandru.marginean@nxp.com>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 02/11] net: phy: Add 1000BASE-KX interface mode
Date: Thu, 18 Aug 2022 22:51:51 +0300	[thread overview]
Message-ID: <20220818195151.3aeaib54xjdhk3ch@skbuf> (raw)
In-Reply-To: <cfe3d910-adee-a3bf-96e2-ce1c10109e58@seco.com>

On Thu, Aug 18, 2022 at 01:28:19PM -0400, Sean Anderson wrote:
> That's not what's documented:
> 
> > ``PHY_INTERFACE_MODE_10GBASER``
> >     This is the IEEE 802.3 Clause 49 defined 10GBASE-R protocol used with
> >     various different mediums. Please refer to the IEEE standard for a
> >     definition of this.
> > 
> >     Note: 10GBASE-R is just one protocol that can be used with XFI and SFI.
> >     XFI and SFI permit multiple protocols over a single SERDES lane, and
> >     also defines the electrical characteristics of the signals with a host
> >     compliance board plugged into the host XFP/SFP connector. Therefore,
> >     XFI and SFI are not PHY interface types in their own right.
> > 
> > ``PHY_INTERFACE_MODE_10GKR``
> >     This is the IEEE 802.3 Clause 49 defined 10GBASE-R with Clause 73
> >     autonegotiation. Please refer to the IEEE standard for further
> >     information.
> > 
> >     Note: due to legacy usage, some 10GBASE-R usage incorrectly makes
> >     use of this definition.
> 
> so indeed you get a new phy interface mode when you add c73 AN. The
> clarification only applies to *incorrect* usage.

I challenge you to the following thought experiment. Open clause 73 from
IEEE 802.3, and see what is actually exchanged through auto-negotiation.
You'll discover that the *use* of the 10GBase-KR operating mode is
*established* through clause 73 AN (the Technology Ability field).

So what sense does it make to define 10GBase-KR as "10Base-R with clause 73 AN"
as the document you've quoted does? None whatsoever. The K in KR stands
for bacKplane, and typical of this type of PMD are the signaling and
link training procedures described in the previous clause, 72.
Clause 73 AN is not something that is a property of 10GBase-KR, but
something that exists outside of it.

So if clause 73 *establishes* the use of 10GBase-KR (or 1000Base-KX or
others) through autonegotiation, then what sense does it have to put
phy-mode = "1000base-kx" in the device tree? Does it mean "use C73 AN",
or "don't use it, I already know what operating mode I want to use"?

If it means "use C73 AN", then what advertisement do you use for the
Technology Ability field? There's a priority resolution function for
C73, just like there is one for C28/C40 for the twisted pair medium (aka
that thing that allows you to fall back to the highest supported common
link speed). So why would you populate just one bit in Technology
Ability based on DT, if you can potentially support multiple operating
modes? And why would you even create your advertisement based on the
device tree, for that matter? Twisted pair PHYs don't do this.

  reply	other threads:[~2022-08-18 19:51 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-25 15:37 [PATCH v3 00/11] net: phy: Add support for rate adaptation Sean Anderson
2022-07-25 15:37 ` [PATCH v3 01/11] net: dpaa: Fix <1G ethernet on LS1046ARDB Sean Anderson
2022-07-25 15:37 ` [PATCH v3 02/11] net: phy: Add 1000BASE-KX interface mode Sean Anderson
2022-08-18 16:53   ` Vladimir Oltean
2022-08-18 16:57     ` Sean Anderson
2022-08-18 17:03       ` Sean Anderson
2022-08-18 17:12         ` Vladimir Oltean
2022-08-18 17:28           ` Sean Anderson
2022-08-18 19:51             ` Vladimir Oltean [this message]
2022-08-18 20:40               ` Sean Anderson
2022-08-25 22:50                 ` Sean Anderson
2022-08-25 23:45                   ` Vladimir Oltean
2022-08-26  0:08                     ` Sean Anderson
2022-07-25 15:37 ` [PATCH v3 03/11] net: phylink: Document MAC_(A)SYM_PAUSE Sean Anderson
2022-07-25 15:37 ` [PATCH v3 04/11] net: phylink: Export phylink_caps_to_linkmodes Sean Anderson
2022-07-25 15:37 ` [PATCH v3 05/11] net: phylink: Generate caps and convert to linkmodes separately Sean Anderson
2022-07-25 15:37 ` [PATCH v3 06/11] net: phylink: Add some helpers for working with mac caps Sean Anderson
2022-07-25 15:41   ` Vladimir Oltean
2022-07-25 15:42     ` Sean Anderson
2022-07-25 15:46       ` Vladimir Oltean
2022-07-25 15:50         ` Sean Anderson
2022-07-25 15:49       ` Russell King (Oracle)
2022-07-25 15:37 ` [PATCH v3 07/11] net: phy: Add support for rate adaptation Sean Anderson
2022-07-25 15:37 ` [PATCH v3 08/11] net: phylink: Adjust link settings based on " Sean Anderson
2022-07-25 15:37 ` [PATCH v3 09/11] net: phylink: Adjust advertisement " Sean Anderson
2022-07-25 15:37 ` [PATCH v3 10/11] net: phy: aquantia: Add some additional phy interfaces Sean Anderson
2022-07-25 15:37 ` [PATCH v3 11/11] net: phy: aquantia: Add support for rate adaptation Sean Anderson
2022-08-18 15:21 ` [PATCH v3 00/11] net: phy: " Sean Anderson
2022-08-18 15:41   ` Andrew Lunn
2022-08-18 15:51     ` Sean Anderson
2022-08-18 21:32       ` Andrew Lunn

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=20220818195151.3aeaib54xjdhk3ch@skbuf \
    --to=olteanv@gmail.com \
    --cc=alexandru.marginean@nxp.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=sean.anderson@seco.com \
    /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