From: Sean Anderson <sean.anderson@linux.dev>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Andrew Lunn <andrew@lunn.ch>, Suraj Gupta <suraj.gupta2@amd.com>,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, michal.simek@amd.com,
radhey.shyam.pandey@amd.com, horms@kernel.org,
netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, git@amd.com,
harini.katakam@amd.com
Subject: Re: [PATCH net-next 2/2] net: axienet: Add support for AXI 2.5G MAC
Date: Tue, 19 Nov 2024 11:42:15 -0500 [thread overview]
Message-ID: <6d2cdd37-f2d7-4537-a7e7-8e525c4378dd@linux.dev> (raw)
In-Reply-To: <ZzyzhCVBgXtQ_Aop@shell.armlinux.org.uk>
On 11/19/24 10:49, Russell King (Oracle) wrote:
> On Tue, Nov 19, 2024 at 10:26:52AM -0500, Sean Anderson wrote:
>> On 11/18/24 20:35, Andrew Lunn wrote:
>> > On Mon, Nov 18, 2024 at 11:00:22AM -0500, Sean Anderson wrote:
>> >> On 11/18/24 10:56, Russell King (Oracle) wrote:
>> >> > On Mon, Nov 18, 2024 at 01:48:22PM +0530, Suraj Gupta wrote:
>> >> >> Add AXI 2.5G MAC support, which is an incremental speed upgrade
>> >> >> of AXI 1G MAC and supports 2.5G speed only. "max-speed" DT property
>> >> >> is used in driver to distinguish 1G and 2.5G MACs of AXI 1G/2.5G IP.
>> >> >> If max-speed property is missing, 1G is assumed to support backward
>> >> >> compatibility.
>> >> >>
>> >> >> Co-developed-by: Harini Katakam <harini.katakam@amd.com>
>> >> >> Signed-off-by: Harini Katakam <harini.katakam@amd.com>
>> >> >> Signed-off-by: Suraj Gupta <suraj.gupta2@amd.com>
>> >> >> ---
>> >> >
>> >> > ...
>> >> >
>> >> >> - lp->phylink_config.mac_capabilities = MAC_SYM_PAUSE | MAC_ASYM_PAUSE |
>> >> >> - MAC_10FD | MAC_100FD | MAC_1000FD;
>> >> >> + lp->phylink_config.mac_capabilities = MAC_SYM_PAUSE | MAC_ASYM_PAUSE;
>> >> >> +
>> >> >> + /* Set MAC capabilities based on MAC type */
>> >> >> + if (lp->max_speed == SPEED_1000)
>> >> >> + lp->phylink_config.mac_capabilities |= MAC_10FD | MAC_100FD | MAC_1000FD;
>> >> >> + else
>> >> >> + lp->phylink_config.mac_capabilities |= MAC_2500FD;
>> >> >
>> >> > The MAC can only operate at (10M, 100M, 1G) _or_ 2.5G ?
>> >>
>> >> It's a PCS limitation. It either does (1000Base-X and/or SGMII) OR
>> >> (2500Base-X). The MAC itself doesn't have this limitation AFAIK.
>> >
>> >
>> > And can the PCS change between these modes? It is pretty typical to
>> > use SGMII for 10/100/1G and then swap to 2500BaseX for 2.5G.
>>
>> Not AFAIK. There's only a bit for switching between 1000Base-X and
>> SGMII. 2500Base-X is selected at synthesis time, and AIUI the serdes
>> settings are different.
>
> Okay. First it was a PCS limitation. Then it was a MAC limitation. Now
> it's a synthesis limitation.
>
> I'm coming to the conclusion that those I'm communicating with don't
> actually know, and are just throwing random thoughts out there.
>
> Please do the research, and come back to me with a real and complete
> answer, not some hand-wavey "it's a limitation of X, no it's a
> limitation of Y, no it's a limitation of Z" which looks like no one
> really knows the correct answer.
>
> Just because the PCS doesn't have a bit that selects 2500base-X is
> meaningless. 2500base-X is generally implemented by upclocking
> 1000base-X by 2.5x. Marvell does this at their Serdes, there is
> no configuration at the MAC/PCS for 2.5G speeds.
>
> The same is true of 10GBASE-R vs 5GBASE-R in Marvell - 5GBASE-R is
> just the serdes clocking the MAC/PCS at half the rate that 10GBASE-R
> would run at.
>
> I suspect this Xilinx hardware is just the same - clock the transmit
> path it at 62.5MHz, and you get 1G speeds. Clock it at 156.25MHz,
> and you get 2.5G speeds.
Hey, I'm just a l^Huser.
In the synthesis settings for the PCS, you can select
- 1G
- 1000BASEX
- SGMII
- BOTH
- 2 5G
- 2500 BASEX
- 2.5G SGMII
(all of the above being exclusive choices)
In the synthesis settings for the MAC, you can select
- 1 Gbps
- Tri speed
- 1000 Mbps
- 2.5 Gbps
- 2500 Mbps
(ditto)
I can't comment on what happens when you over/underclock the MAC or PCS.
--Sean
next prev parent reply other threads:[~2024-11-19 16:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-18 8:18 [PATCH net-next 0/2] Add support for AXI 2.5G ethernet Suraj Gupta
2024-11-18 8:18 ` [PATCH net-next 1/2] dt-bindings: net: xlnx,axi-ethernet: Add bindings for AXI 2.5G MAC Suraj Gupta
2024-11-18 15:36 ` Sean Anderson
2024-11-18 15:54 ` Maxime Chevallier
2024-11-18 15:57 ` Sean Anderson
2024-11-19 1:38 ` Andrew Lunn
2024-11-19 9:40 ` Gupta, Suraj
2024-11-19 13:38 ` Andrew Lunn
2024-11-19 7:42 ` Krzysztof Kozlowski
2024-11-18 8:18 ` [PATCH net-next 2/2] net: axienet: Add support " Suraj Gupta
2024-11-18 14:42 ` Pandey, Radhey Shyam
2024-11-18 15:56 ` Russell King (Oracle)
2024-11-18 16:00 ` Sean Anderson
2024-11-18 16:08 ` Russell King (Oracle)
2024-11-19 10:28 ` Gupta, Suraj
2024-11-19 13:18 ` Russell King (Oracle)
2024-11-19 15:12 ` Russell King (Oracle)
2024-11-19 1:35 ` Andrew Lunn
2024-11-19 15:26 ` Sean Anderson
2024-11-19 15:49 ` Russell King (Oracle)
2024-11-19 16:42 ` Sean Anderson [this message]
2025-02-20 11:30 ` Gupta, Suraj
2025-02-20 11:44 ` Russell King (Oracle)
2025-02-20 12:17 ` Gupta, Suraj
2025-02-20 14:35 ` 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=6d2cdd37-f2d7-4537-a7e7-8e525c4378dd@linux.dev \
--to=sean.anderson@linux.dev \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=git@amd.com \
--cc=harini.katakam@amd.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=michal.simek@amd.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=radhey.shyam.pandey@amd.com \
--cc=suraj.gupta2@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
all inboxes | Powered by JetHome®