[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPv3WKcwT9F3w=Ua-ktE=eorp0a-HPvoF2U-CwsHVtFw6GKOzQ@mail.gmail.com>
Date: Thu, 17 Dec 2020 12:00:49 +0100
From: Marcin Wojtas <mw@...ihalf.com>
To: Stefan Chulski <stefanc@...vell.com>
Cc: netdev <netdev@...r.kernel.org>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
"David S. Miller" <davem@...emloft.net>, nadavh@...vell.com,
Yan Markman <ymarkman@...vell.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jakub Kicinski <kuba@...nel.org>,
Russell King - ARM Linux <linux@...linux.org.uk>,
Andrew Lunn <andrew@...n.ch>,
Russell King <rmk+kernel@...linux.org.uk>
Subject: Re: [PATCH net v2 2/2] net: mvpp2: disable force link UP during port
init procedure
Hi Stefan,
czw., 17 gru 2020 o 10:42 <stefanc@...vell.com> napisaĆ(a):
>
> From: Stefan Chulski <stefanc@...vell.com>
>
> Force link UP can be enabled by bootloader during tftpboot
> and breaks NFS support.
> Force link UP disabled during port init procedure.
>
> Signed-off-by: Stefan Chulski <stefanc@...vell.com>
> ---
What are the updates against v1? Please note them in this place for
individual patches and list all in the cover letter (in case sending a
group of patches).
Do you think it's a fix that should be backported to stable branches?
If yes, please add 'Fixes: <commit ID> ("commit title")' and it may be
good to add 'Cc: stable@...r.kernel.org' adjacent to the Signed-off-by
tag.
Thanks,
Marcin
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> index d2b0506..0ad3177 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> @@ -5479,7 +5479,7 @@ static int mvpp2_port_init(struct mvpp2_port *port)
> struct mvpp2 *priv = port->priv;
> struct mvpp2_txq_pcpu *txq_pcpu;
> unsigned int thread;
> - int queue, err;
> + int queue, err, val;
>
> /* Checks for hardware constraints */
> if (port->first_rxq + port->nrxqs >
> @@ -5493,6 +5493,18 @@ static int mvpp2_port_init(struct mvpp2_port *port)
> mvpp2_egress_disable(port);
> mvpp2_port_disable(port);
>
> + if (mvpp2_is_xlg(port->phy_interface)) {
> + val = readl(port->base + MVPP22_XLG_CTRL0_REG);
> + val &= ~MVPP22_XLG_CTRL0_FORCE_LINK_PASS;
> + val |= MVPP22_XLG_CTRL0_FORCE_LINK_DOWN;
> + writel(val, port->base + MVPP22_XLG_CTRL0_REG);
> + } else {
> + val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG);
> + val &= ~MVPP2_GMAC_FORCE_LINK_PASS;
> + val |= MVPP2_GMAC_FORCE_LINK_DOWN;
> + writel(val, port->base + MVPP2_GMAC_AUTONEG_CONFIG);
> + }
> +
> port->tx_time_coal = MVPP2_TXDONE_COAL_USEC;
>
> port->txqs = devm_kcalloc(dev, port->ntxqs, sizeof(*port->txqs),
> --
> 1.9.1
>
Powered by blists - more mailing lists