Re: [RFC net-next PATCH 08/16] net: macb: Clean up macb_validate
From: Sean Anderson <hidden>
Date: 2021-10-08 00:20:22
Also in:
lkml
Hi Nicolas, On 10/7/21 9:22 AM, Nicolas Ferre wrote:
On 04/10/2021 at 21:15, Sean Anderson wrote:quoted
While we're on the subject, could someone clarify the relationship between the various speed capabilities? What's the difference between MACB_CAPS_GIGABIT_MODE_AVAILABLE, MACB_CAPS_HIGH_SPEED, MACB_CAPS_PCS, and macb_is_gem()? Would there ever be a GEM without GIGABIT_MODE?Yes. GEM is a new revision of the IP that is capable of doing Gigabit mode or not. sama7g5_emac_config is typically one of those doing only 10/100.
Thanks for pointing that out. But even that config still has MACB_CAPS_GIGABIT_MODE_AVAILABLE. So presumably you can use it for gigabit speed if you don't use MII-on-RGMII. I suppose that sama7g5_emac_config is not a GEM?
quoted
HIGH_SPEED without PCS? Why doesn't SGMII care if we're a gem (I think this one is a bug, because it cares later on)?MACB_CAPS_HIGH_SPEED and MACB_CAPS_PCS were added by e4e143e26ce8f5f57c60a994bdc63d0ddce3a823 ("net: macb: add support for high speed interface"). In this commit it is said that "This controller has separate MAC's and PCS'es for low and high speed paths." Maybe it's a hint.
Ah, so perhaps HIGH_SPEED only represents the capability for a high-speed PCS. Which of course is a bit strange considering that we check for both it, PCS, and GIGABIT_MODE when determining whether we can do 10G. --Sean