From: Sean Anderson <sean.anderson@linux.dev>
To: Randy Dunlap <rdunlap@infradead.org>,
netdev@vger.kernel.org, Andrew Lunn <andrew+netdev@lunn.ch>,
"David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Russell King <linux@armlinux.org.uk>
Cc: Vineeth Karumanchi <vineeth.karumanchi@amd.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
linux-kernel@vger.kernel.org,
Kory Maincent <kory.maincent@bootlin.com>,
Daniel Golle <daniel@makrotopia.org>,
Simon Horman <horms@kernel.org>,
Christian Marangi <ansuelsmth@gmail.com>,
Lei Wei <quic_leiwei@quicinc.com>,
Jonathan Corbet <corbet@lwn.net>,
linux-doc@vger.kernel.org
Subject: Re: [net-next PATCH v6 03/10] net: pcs: Add subsystem
Date: Thu, 12 Jun 2025 11:38:56 -0400 [thread overview]
Message-ID: <b7137a4a-cb87-4aa5-958f-a83d3239e967@linux.dev> (raw)
In-Reply-To: <f5b16bd6-01b6-45c0-9668-41ccf90445a3@infradead.org>
On 6/10/25 20:24, Randy Dunlap wrote:
> Hi,
>
>
>> diff --git a/Documentation/networking/pcs.rst b/Documentation/networking/pcs.rst
>> new file mode 100644
>> index 000000000000..4b41ba884160
>> --- /dev/null
>> +++ b/Documentation/networking/pcs.rst
>> @@ -0,0 +1,102 @@
>> +.. SPDX-License-Identifier: GPL-2.0
>> +
>> +=============
>> +PCS Subsystem
>> +=============
>> +
>> +The PCS (Physical Coding Sublayer) subsystem handles the registration and lookup
>> +of PCS devices. These devices contain the upper sublayers of the Ethernet
>> +physical layer, generally handling framing, scrambling, and encoding tasks. PCS
>> +devices may also include PMA (Physical Medium Attachment) components. PCS
>> +devices transfer data between the Link-layer MAC device, and the rest of the
>> +physical layer, typically via a serdes. The output of the serdes may be
>> +connected more-or-less directly to the medium when using fiber-optic or
>> +backplane connections (1000BASE-SX, 1000BASE-KX, etc). It may also communicate
>> +with a separate PHY (such as over SGMII) which handles the connection to the
>> +medium (such as 1000BASE-T).
>> +
>> +Looking up PCS Devices
>> +----------------------
>> +
>> +There are generally two ways to look up a PCS device. If the PCS device is
>> +internal to a larger device (such as a MAC or switch), and it does not share an
>> +implementation with an existing PCS, then it does not need to be registered with
>> +the PCS subsystem. Instead, you can populate a :c:type:`phylink_pcs`
>> +in your probe function. Otherwise, you must look up the PCS.
>> +
>> +If your device has a :c:type:`fwnode_handle`, you can add a PCS using the
>> +``pcs-handle`` property::
>> +
>> + ethernet-controller {
>> + // ...
>> + pcs-handle = <&pcs>;
>> + pcs-handle-names = "internal";
>> + };
>> +
>> +Then, during your probe function, you can get the PCS using :c:func:`pcs_get`::
>
> It's preferable to use PCS using pcs_get()::
> instead of the :c:func: notation to make the .rst file more human-readable.
> They produce the same generated output.
If you find this syntax useful, then you should update
Documentation/doc-guide/{kernel-doc,sphinx}.rst. I did not use it
because it I did not know about it because it is not documented.
--Sean
next prev parent reply other threads:[~2025-06-12 15:39 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 23:31 [net-next PATCH v6 00/10] Add PCS core support Sean Anderson
2025-06-10 23:31 ` [net-next PATCH v6 01/10] dt-bindings: net: Add Xilinx PCS Sean Anderson
2025-06-10 23:31 ` [net-next PATCH v6 02/10] net: phylink: Support setting PCS link change callbacks Sean Anderson
2025-06-10 23:31 ` [net-next PATCH v6 03/10] net: pcs: Add subsystem Sean Anderson
2025-06-11 0:24 ` Randy Dunlap
2025-06-12 15:38 ` Sean Anderson [this message]
2025-06-10 23:31 ` [net-next PATCH v6 04/10] net: dsa: ocelot: suppress PHY device scanning on the internal MDIO bus Sean Anderson
2025-06-10 23:31 ` [net-next PATCH v6 05/10] net: pcs: lynx: Convert to an MDIO driver Sean Anderson
2025-06-13 11:27 ` kernel test robot
2025-06-10 23:31 ` [net-next PATCH v6 06/10] net: pcs: Add Xilinx PCS driver Sean Anderson
2025-06-11 5:11 ` Maxime Chevallier
2025-06-12 15:34 ` Sean Anderson
2025-06-12 0:14 ` kernel test robot
2025-06-10 23:31 ` [net-next PATCH v6 07/10] net: axienet: Convert to use PCS subsystem Sean Anderson
2025-06-11 20:56 ` kernel test robot
2025-06-11 22:19 ` kernel test robot
2025-06-10 23:31 ` [net-next PATCH v6 08/10] net: macb: Move most of mac_config to mac_prepare Sean Anderson
2025-06-10 23:35 ` Sean Anderson
2025-06-10 23:36 ` [net-next PATCH v6 09/10] net: macb: Support external PCSs Sean Anderson
2025-06-13 14:50 ` kernel test robot
2025-06-10 23:37 ` [net-next PATCH v6 10/10] of: property: Add device link support for PCS Sean Anderson
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=b7137a4a-cb87-4aa5-958f-a83d3239e967@linux.dev \
--to=sean.anderson@linux.dev \
--cc=andrew+netdev@lunn.ch \
--cc=ansuelsmth@gmail.com \
--cc=corbet@lwn.net \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=quic_leiwei@quicinc.com \
--cc=rdunlap@infradead.org \
--cc=vineeth.karumanchi@amd.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;
as well as URLs for NNTP newsgroup(s).