[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YPbdfBqjgHzM+6+Z@lunn.ch>
Date: Tue, 20 Jul 2021 16:28:12 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Russell King <rmk+kernel@...linux.org.uk>
Cc: Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
Marek Beh__n <kabel@...nel.org>,
Jakub Kicinski <kuba@...nel.org>
Subject: Re: [PATCH RFC net-next] net: phy: marvell10g: add downshift tunable
support
> +static int mv3310_set_downshift(struct phy_device *phydev, u8 ds)
> +{
> + struct mv3310_priv *priv = dev_get_drvdata(&phydev->mdio.dev);
> + u16 val;
> + int err;
> +
> + /* Fails to downshift with v0.3.5.0 and earlier */
> + if (priv->firmware_ver < MV_VERSION(0,3,5,0))
> + return -EOPNOTSUPP;
> +
> + if (ds == DOWNSHIFT_DEV_DISABLE)
> + return phy_clear_bits_mmd(phydev, MDIO_MMD_PCS, MV_PCS_DSC1,
> + MV_PCS_DSC1_ENABLE);
> +
> + /* FIXME: The default is disabled, so should we disable? */
> + if (ds == DOWNSHIFT_DEV_DEFAULT_COUNT)
> + ds = 2;
Interesting question.
It is a useful feature, so i would enable it by default.
Is it possible to read the actual speed via some vendor register? The
phy-core might then give a warning, but it is 50/50 since the link
peer might perform the downshift.
Andrew
Powered by blists - more mailing lists