[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200612121239.GJ1551@shell.armlinux.org.uk>
Date: Fri, 12 Jun 2020 13:12:39 +0100
From: Russell King - ARM Linux admin <linux@...linux.org.uk>
To: Sascha Hauer <s.hauer@...gutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, kernel@...gutronix.de
Subject: Re: [PATCH v2] net: mvneta: Fix Serdes configuration for 2.5Gbps
modes
On Fri, Jun 12, 2020 at 02:06:04PM +0200, Sascha Hauer wrote:
> And here is the same patch which applies on master and the net tree.
> It works as expected on my Armada XP in 2.5Gbps mode. Provided you are
> happy with the patch I can send it as a formal patch on monday if by
> then you haven't done that already.
As mentioned in one of my replies, there's a bug the patch I sent...
> @@ -3533,9 +3535,6 @@ static int mvneta_comphy_init(struct mvneta_port *pp)
> {
> int ret;
>
> - if (!pp->comphy)
> - return 0;
> -
> ret = phy_set_mode_ext(pp->comphy, PHY_MODE_ETHERNET,
> pp->phy_interface);
mvneta_comphy_init() needs to be passed the interface mode, and pass it
thrugh to phy_set_mode_ext().
> if (ret)
> @@ -3544,11 +3543,49 @@ static int mvneta_comphy_init(struct mvneta_port *pp)
> return phy_power_on(pp->comphy);
> }
>
> +static int mvneta_config_interface(struct mvneta_port *pp,
> + phy_interface_t interface)
> +{
> + int ret = 0;
> +
> + if (pp->comphy) {
> + if (interface == PHY_INTERFACE_MODE_SGMII ||
> + interface == PHY_INTERFACE_MODE_1000BASEX ||
> + interface == PHY_INTERFACE_MODE_2500BASEX) {
> + ret = mvneta_comphy_init(pp);
and this needs to be:
ret = mvneta_comphy_init(pp, interface);
Otherwise, the comphy uses the _old_ interface mode each time this
function is called.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists