Subject: Re: Marvell_of_reg_init function

From: "Russell King (Oracle)" <[email-masked]>
Date: Wed, 24 May 2023 09:40:27 +0100

On Wed, May 24, 2023 at 08:38:43AM +0200, Heiner Kallweit wrote:
> On 24.05.2023 08:13, Genevieve Chan wrote:
> > ++
> > 
> > Hi Heiner,
> > 
> >  
> > 
> > Hope you’re doing well. I am Genevieve Chan, a linux junior software developer for RISC-V based processor. As mentioned in the email thread below, I have came across a possible issue when attempting to issue reg-init onto Page 0 Reg 4, involving advertisement register of PHY. I have stated the observation and the root cause and possible solution. Would like to ask if this proposed solution is probable and I could submit a patch for this?
> > 
> 
> Please address all phylib maintainers and the netdev mailing list.
> 
> You should start with explaining why you want to set these registers,
> and why via device tree. There should never be the need to manually
> fiddle with C22 standard registers via device tree.
> 
> If you need a specific register initialization for a particular PHY,
> then the config_init callback of the PHY driver typically is the right
> place.
> 
> And no, generic code should not query vendor-specific DT properties.

To Genevieve Chan...

Page 0 register 4 is a register that is managed by the phylib code on
behalf of the network driver. Attempting to configuring it (or any
register managed by phylib, e.g. for advertisement) via the of_reg_init
will not work as phylib will overwrite it. Doing so is intended not to
work, isn't supported, and any value written will be overwritten by
phylib or the PHY driver.

If you wish to change the advertisement, that has to be done via the
"ethtool" userspace utility.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!