Subject: Re: [PATCH RFC net-next] net: phy: marvell10g: add downshift tunable support

From: Marek Behún <[email-masked]>
Date: Tue, 20 Jul 2021 19:32:23 +0200

On Tue, 20 Jul 2021 18:14:01 +0100
"Russell King (Oracle)" <[email-masked]> wrote:

> On Tue, Jul 20, 2021 at 05:04:24PM +0200, Marek Behún wrote:
> > Hi Russell,
> > 
> > On Tue, 20 Jul 2021 14:38:20 +0100
> > Russell King <[email-masked]> wrote:
> >   
> > > Add support for the downshift tunable for the Marvell 88x3310 PHY.
> > > Downshift is only usable with firmware 0.3.5.0 and later.  
> > 
> > mv3310_{g,s}et_features are also used for 88E211x, but there is no
> > such register in the documentation for these PHYs. (Also firmware
> > versions on those are different, the newest is 8.3.0.0, but thats
> > not important.) My solution would be to rename the current methods
> > prefix to mv211x_ and and add new mv3310_{g,s}et_tunable methods.  
> 
> There's more than just the tunables themselves - there's also
> config_init().
> 
> We already need to reject downshift when old firmware is running,
> as that fails to work correctly. So, we can just do that for
> 88E211x as well, adding a flag to struct mv3310_chip to indicate
> whether downshift is present. Sound sensible?

Hmm, maybe add the flag to struct mv3310_priv, instead of struct
mv3310_chip, since the latter is static. And fill in the flag in
mv3310_probe() function, depending on firmware version?

BTW would you agree with a patch renaming the mv3310_ prefixes to
mv10g_ for all functions that are generic to both mv3310_ and mv2110_?
I was thinking about such a thing because it has become rather
confusing.

Marek