Re: [PATCH net-next 1/2] net: phy: broadcom: set features explicitly for BCM54616S
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: 2019-08-04 08:40:43
Also in:
lkml, openbmc
On 01.08.2019 07:20, Tao Ren wrote:
On 7/30/19 11:00 PM, Tao Ren wrote:quoted
On 7/30/19 10:53 PM, Heiner Kallweit wrote:quoted
On 31.07.2019 02:12, Tao Ren wrote:quoted
On 7/29/19 11:00 PM, Heiner Kallweit wrote:quoted
On 30.07.2019 07:05, Tao Ren wrote:quoted
On 7/29/19 8:35 PM, Andrew Lunn wrote:quoted
On Mon, Jul 29, 2019 at 05:25:32PM -0700, Tao Ren wrote:quoted
BCM54616S feature "PHY_GBIT_FEATURES" was removed by commit dcdecdcfe1fc ("net: phy: switch drivers to use dynamic feature detection"). As dynamic feature detection doesn't work when BCM54616S is working in RGMII-Fiber mode (different sets of MII Control/Status registers being used), let's set "PHY_GBIT_FEATURES" for BCM54616S explicitly.Hi Tao What exactly does it get wrong? Thanks AndrewHi Andrew, BCM54616S is set to RGMII-Fiber (1000Base-X) mode on my platform, and none of the features (1000BaseT/100BaseT/10BaseT) can be detected by genphy_read_abilities(), because the PHY only reports 1000BaseX_Full|Half ability in this mode.Are you going to use the PHY in copper or fibre mode? In case you use fibre mode, why do you need the copper modes set as supported? Or does the PHY just start in fibre mode and you want to switch it to copper mode?Hi Heiner, The phy starts in fiber mode and that's the mode I want. My observation is: phydev->link is always 0 (Link status bit is never set in MII_BMSR) by using dynamic ability detection on my machine. I checked phydev->supported and it's set to "AutoNeg | TP | MII | Pause | Asym_Pause" by dynamic ability detection. Is it normal/expected? Or maybe the fix should go to different places? Thank you for your help.Not sure whether you stated already which kernel version you're using. There's a brand-new extension to auto-detect 1000BaseX: f30e33bcdab9 ("net: phy: Add more 1000BaseX support detection") It's included in the 5.3-rc series.I'm running kernel 5.2.0. Thank you for the sharing and I didn't know the patch. Let me check it out.I applied above patch and ca72efb6bdc7 ("net: phy: Add detection of 1000BaseX link mode support") to my 5.2.0 tree but got following warning when booting up my machine: "PHY advertising (0,00000200,000062c0) more modes than genphy supports, some modes not advertised".
It's genphy_config_advert complaining which is called from genphy_config_aneg. genphy_config_aneg deals with the standard Base-T modes. Therefore in your case most likely you want to provide an own config_aneg callback (in case autoneg is applicable at all).
The BCM54616S PHY on my machine only reports 1000-X features in RGMII->1000Base-KX mode. Is it a known problem? Anyways let me see if I missed some dependency/follow-up patches.. Cheers, Tao
Heiner