Re: [PATCH RFC net-next] net: phy: marvell10g: add downshift tunable support
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-07-20 17:40:33
On Tue, Jul 20, 2021 at 07:32:23PM +0200, Marek Behún wrote:
On Tue, 20 Jul 2021 18:14:01 +0100 "Russell King (Oracle)" [off-list ref] wrote:quoted
On Tue, Jul 20, 2021 at 05:04:24PM +0200, Marek Behún wrote:quoted
Hi Russell, On Tue, 20 Jul 2021 14:38:20 +0100 Russell King [off-list ref] wrote:quoted
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?
I was intending to leave the firmware version check where it was and just add a flag to say "this has downshift". The older firmwares on 3310 are basically buggy - they do downshift but only from 1G to 100M, they fail to go to 10M.
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.
I've been thinking the same thing actually. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!