All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Baruch Siach <baruch@tkos.co.il>
Cc: netdev@vger.kernel.org, Andrew Lunn <andrew@lunn.ch>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [PATCH net] net: phy: marvell10g: limit soft reset to 88x3310
Date: Tue, 21 Apr 2020 10:17:20 +0100	[thread overview]
Message-ID: <20200421091720.GB25745@shell.armlinux.org.uk> (raw)
In-Reply-To: <616c799433477943d782bda9d8a825d56fc70c9d.1587459886.git.baruch@tkos.co.il>

On Tue, Apr 21, 2020 at 12:04:46PM +0300, Baruch Siach wrote:
> The MV_V2_PORT_CTRL_SWRST bit in MV_V2_PORT_CTRL is reserved on 88E2110.
> Setting SWRST on 88E2110 breaks packets transfer after interface down/up
> cycle.
> 
> Fixes: 8f48c2ac85ed ("net: marvell10g: soft-reset the PHY when coming out of low power")
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>

Okay, the presence of 88E2110 combined with 88X3310 support is going to
be a constant source of pain in terms of maintanence, since I know
nothing about this PHY, nor do I have any way to test my changes there.

I think we need to think about how to deal with that - do we split the
code, so that 88X3310 can be maintained separately from 88E2110 (even
though most of the code may be the same), or can someone send me a board
that has the 88E2110 on (I can't purchase as I have no funds to do so.)

So, I guess splitting the code is likely to be the only solution.

> ---
>  drivers/net/phy/marvell10g.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c
> index d3cb88651ad2..601686f64341 100644
> --- a/drivers/net/phy/marvell10g.c
> +++ b/drivers/net/phy/marvell10g.c
> @@ -263,7 +263,8 @@ static int mv3310_power_up(struct phy_device *phydev)
>  	ret = phy_clear_bits_mmd(phydev, MDIO_MMD_VEND2, MV_V2_PORT_CTRL,
>  				 MV_V2_PORT_CTRL_PWRDOWN);
>  
> -	if (priv->firmware_ver < 0x00030000)
> +	if (phydev->drv->phy_id != MARVELL_PHY_ID_88X3310 ||
> +	    priv->firmware_ver < 0x00030000)
>  		return ret;
>  
>  	return phy_set_bits_mmd(phydev, MDIO_MMD_VEND2, MV_V2_PORT_CTRL,
> -- 
> 2.26.1
> 
> 

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up

  reply	other threads:[~2020-04-21  9:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-21  9:04 [PATCH net] net: phy: marvell10g: limit soft reset to 88x3310 Baruch Siach
2020-04-21  9:17 ` Russell King - ARM Linux admin [this message]
2020-04-21 10:20   ` Baruch Siach
2020-04-23 19:33 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200421091720.GB25745@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=baruch@tkos.co.il \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.