From: Antoine Tenart <antoine.tenart@bootlin.com>
To: davem@davemloft.net, linux@armlinux.org.uk
Cc: Antoine Tenart <antoine.tenart@bootlin.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
thomas.petazzoni@bootlin.com, maxime.chevallier@bootlin.com,
gregory.clement@bootlin.com, miquel.raynal@bootlin.com,
nadavh@marvell.com, stefanc@marvell.com, ymarkman@marvell.com,
mw@semihalf.com
Subject: [PATCH net-next 11/13] net: mvpp2: reset the XLG MAC in port_reset
Date: Fri, 15 Feb 2019 16:32:39 +0100 [thread overview]
Message-ID: <20190215153241.6857-12-antoine.tenart@bootlin.com> (raw)
In-Reply-To: <20190215153241.6857-1-antoine.tenart@bootlin.com>
The mvpp2_port_reset helper resets the GMAC but not the XLG MAC, which
is used on PPv2.2 when using the port 0. This patch fixes it, so that
the two MAC are set in reset when needed. In addition, the XLG
configuration function sets the XLG MAC out of reset when called.
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
---
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index 5d05306e79a8..80406195a255 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -1384,6 +1384,17 @@ static void mvpp2_port_reset(struct mvpp2_port *port)
val = readl(port->base + MVPP2_GMAC_CTRL_2_REG) |
MVPP2_GMAC_PORT_RESET_MASK;
writel(val, port->base + MVPP2_GMAC_CTRL_2_REG);
+
+ if (port->priv->hw_version == MVPP22 && port->gop_id == 0) {
+ /* Set the XLG MAC in reset */
+ val = readl(port->base + MVPP22_XLG_CTRL0_REG) &
+ ~MVPP22_XLG_CTRL0_MAC_RESET_DIS;
+ writel(val, port->base + MVPP22_XLG_CTRL0_REG);
+
+ while (readl(port->base + MVPP22_XLG_CTRL0_REG) &
+ MVPP22_XLG_CTRL0_MAC_RESET_DIS)
+ continue;
+ }
}
/* Change maximum receive size of the port */
@@ -4512,6 +4523,8 @@ static void mvpp2_xlg_config(struct mvpp2_port *port, unsigned int mode,
ctrl0 = readl(port->base + MVPP22_XLG_CTRL0_REG);
ctrl4 = readl(port->base + MVPP22_XLG_CTRL4_REG);
+ ctrl0 |= MVPP22_XLG_CTRL0_MAC_RESET_DIS;
+
if (state->pause & MLO_PAUSE_TX)
ctrl0 |= MVPP22_XLG_CTRL0_TX_FLOW_CTRL_EN;
else
--
2.20.1
next prev parent reply other threads:[~2019-02-15 15:35 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-15 15:32 [PATCH net-next 00/13] net: mvpp2: various fixes Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 01/13] net: mvpp2: do not call phylink_mac_change if there is no event Antoine Tenart
2019-02-15 17:05 ` Russell King - ARM Linux admin
2019-02-18 10:40 ` Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 02/13] net: mvpp2: a port can be disabled even if we use the link IRQ Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 03/13] net: mvpp2: do not disable the port if the mode hasn't changed Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 04/13] net: mvpp2: reconfiguring the port interface is PPv2.2 specific Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 05/13] net: mvpp2: do not set the XLG MAC in reset when disabling a port Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 06/13] net: mvpp2: fix a typo in the header Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 07/13] net: mvpp2: fix validate for PPv2.1 Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 08/13] net: mvpp2: fix the computation of the RXQs Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 09/13] net: mvpp2: update the port documentation regarding the GoP Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 10/13] net: mvpp2: reset the XPCS while reconfiguring the serdes lanes Antoine Tenart
2019-02-15 17:12 ` Russell King - ARM Linux admin
2019-02-15 17:23 ` Stefan Chulski
2019-02-18 10:26 ` Antoine Tenart
2019-02-18 10:43 ` Russell King - ARM Linux admin
2019-02-18 10:47 ` Russell King - ARM Linux admin
2019-02-18 10:52 ` Antoine Tenart
2019-02-18 11:08 ` [EXT] " Stefan Chulski
2019-02-18 11:28 ` Russell King - ARM Linux admin
2019-02-18 11:33 ` Stefan Chulski
2019-02-18 10:50 ` Antoine Tenart
2019-02-15 15:32 ` Antoine Tenart [this message]
2019-02-15 15:32 ` [PATCH net-next 12/13] net: mvpp2: fix alignment of MVPP2_GMAC_CONFIG_MII_SPEED definition Antoine Tenart
2019-02-15 15:32 ` [PATCH net-next 13/13] net: mvpp2: some AN fields require the link to be down when updated Antoine Tenart
2019-02-17 21:23 ` [PATCH net-next 00/13] net: mvpp2: various fixes 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=20190215153241.6857-12-antoine.tenart@bootlin.com \
--to=antoine.tenart@bootlin.com \
--cc=davem@davemloft.net \
--cc=gregory.clement@bootlin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=miquel.raynal@bootlin.com \
--cc=mw@semihalf.com \
--cc=nadavh@marvell.com \
--cc=netdev@vger.kernel.org \
--cc=stefanc@marvell.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=ymarkman@marvell.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®