Message ID | 1608198007-10143-2-git-send-email-stefanc@marvell.com |
---|---|
State | Superseded |
Headers | show |
Series | [net,v2,1/2] net: mvpp2: Fix GoP port 3 Networking Complex Control configurations | expand |
Hi Stefan, czw., 17 gru 2020 o 10:42 <stefanc@marvell.com> napisał(a): > > From: Stefan Chulski <stefanc@marvell.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@marvell.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@vger.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 >
On Thu, Dec 17, 2020 at 12:00:49PM +0100, Marcin Wojtas wrote: > Hi Stefan, > > czw., 17 gru 2020 o 10:42 <stefanc@marvell.com> napisał(a): > > > > From: Stefan Chulski <stefanc@marvell.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@marvell.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). It seems the only reason this has been resent is because it's (incorrectly) part of a series that involved a change to patch 1 (adding the Fixes: tag). As this is a stand-alone fix, it shouldn't be part of a series unless there really is some kind of dependency with the other patch(es) of that series.
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),