All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Golle <daniel@makrotopia.org>
To: netdev@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Russell King <linux@armlinux.org.uk>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Lorenzo Bianconi <lorenzo@kernel.org>,
	Mark Lee <Mark-MC.Lee@mediatek.com>,
	John Crispin <john@phrozen.org>, Felix Fietkau <nbd@nbd.name>,
	AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@collabora.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	DENG Qingfang <dqfext@gmail.com>,
	Landen Chao <Landen.Chao@mediatek.com>,
	Sean Wang <sean.wang@mediatek.com>,
	Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Vladimir Oltean <olteanv@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>
Cc: "Jianhui Zhao" <zhaojh329@gmail.com>, "Bjørn Mork" <bjorn@mork.no>
Subject: [PATCH v2 05/11] net: ethernet: mtk_eth_soc: reset PCS state
Date: Tue, 7 Feb 2023 14:21:02 +0000	[thread overview]
Message-ID: <fec3af02420c4c241465abc28442b7a77bc588aa.1675779094.git.daniel@makrotopia.org> (raw)
In-Reply-To: <cover.1675779094.git.daniel@makrotopia.org>

Reset PCS state when changing interface mode.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 ++++
 drivers/net/ethernet/mediatek/mtk_sgmii.c   | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
index 7014c02ba2d4..142def8629c8 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -548,6 +548,10 @@
 #define SGMII_SEND_AN_ERROR_EN		BIT(11)
 #define SGMII_IF_MODE_MASK		GENMASK(5, 1)
 
+/* Register to reset SGMII design */
+#define SGMII_RESERVED_0	0x34
+#define SGMII_SW_RESET		BIT(0)
+
 /* Register to set SGMII speed, ANA RG_ Control Signals III*/
 #define SGMSYS_ANA_RG_CS3	0x2028
 #define RG_PHY_SPEED_MASK	(BIT(2) | BIT(3))
diff --git a/drivers/net/ethernet/mediatek/mtk_sgmii.c b/drivers/net/ethernet/mediatek/mtk_sgmii.c
index 0071352c93ba..d8184448cd5a 100644
--- a/drivers/net/ethernet/mediatek/mtk_sgmii.c
+++ b/drivers/net/ethernet/mediatek/mtk_sgmii.c
@@ -88,6 +88,10 @@ static int mtk_pcs_config(struct phylink_pcs *pcs, unsigned int mode,
 		regmap_update_bits(mpcs->regmap, SGMSYS_QPHY_PWR_STATE_CTRL,
 				   SGMII_PHYA_PWD, SGMII_PHYA_PWD);
 
+		/* Reset SGMII PCS state */
+		regmap_update_bits(mpcs->regmap, SGMII_RESERVED_0,
+				   SGMII_SW_RESET, SGMII_SW_RESET);
+
 		if (mpcs->flags & MTK_SGMII_FLAG_PN_SWAP)
 			regmap_update_bits(mpcs->regmap, SGMSYS_QPHY_WRAP_CTRL,
 					   SGMII_PN_SWAP_MASK,
-- 
2.39.1


WARNING: multiple messages have this Message-ID (diff)
From: Daniel Golle <daniel@makrotopia.org>
To: netdev@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Russell King <linux@armlinux.org.uk>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Lorenzo Bianconi <lorenzo@kernel.org>,
	Mark Lee <Mark-MC.Lee@mediatek.com>,
	John Crispin <john@phrozen.org>, Felix Fietkau <nbd@nbd.name>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	DENG Qingfang <dqfext@gmail.com>,
	Landen Chao <Landen.Chao@mediatek.com>,
	Sean Wang <sean.wang@mediatek.com>,
	Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Vladimir Oltean <olteanv@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>
Cc: "Jianhui Zhao" <zhaojh329@gmail.com>, "Bjørn Mork" <bjorn@mork.no>
Subject: [PATCH v2 05/11] net: ethernet: mtk_eth_soc: reset PCS state
Date: Tue, 7 Feb 2023 14:21:02 +0000	[thread overview]
Message-ID: <fec3af02420c4c241465abc28442b7a77bc588aa.1675779094.git.daniel@makrotopia.org> (raw)
In-Reply-To: <cover.1675779094.git.daniel@makrotopia.org>

Reset PCS state when changing interface mode.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 ++++
 drivers/net/ethernet/mediatek/mtk_sgmii.c   | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
index 7014c02ba2d4..142def8629c8 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -548,6 +548,10 @@
 #define SGMII_SEND_AN_ERROR_EN		BIT(11)
 #define SGMII_IF_MODE_MASK		GENMASK(5, 1)
 
+/* Register to reset SGMII design */
+#define SGMII_RESERVED_0	0x34
+#define SGMII_SW_RESET		BIT(0)
+
 /* Register to set SGMII speed, ANA RG_ Control Signals III*/
 #define SGMSYS_ANA_RG_CS3	0x2028
 #define RG_PHY_SPEED_MASK	(BIT(2) | BIT(3))
diff --git a/drivers/net/ethernet/mediatek/mtk_sgmii.c b/drivers/net/ethernet/mediatek/mtk_sgmii.c
index 0071352c93ba..d8184448cd5a 100644
--- a/drivers/net/ethernet/mediatek/mtk_sgmii.c
+++ b/drivers/net/ethernet/mediatek/mtk_sgmii.c
@@ -88,6 +88,10 @@ static int mtk_pcs_config(struct phylink_pcs *pcs, unsigned int mode,
 		regmap_update_bits(mpcs->regmap, SGMSYS_QPHY_PWR_STATE_CTRL,
 				   SGMII_PHYA_PWD, SGMII_PHYA_PWD);
 
+		/* Reset SGMII PCS state */
+		regmap_update_bits(mpcs->regmap, SGMII_RESERVED_0,
+				   SGMII_SW_RESET, SGMII_SW_RESET);
+
 		if (mpcs->flags & MTK_SGMII_FLAG_PN_SWAP)
 			regmap_update_bits(mpcs->regmap, SGMSYS_QPHY_WRAP_CTRL,
 					   SGMII_PN_SWAP_MASK,
-- 
2.39.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-02-07 14:23 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-07 14:18 [PATCH v2 00/11] net: ethernet: mtk_eth_soc: various enhancements Daniel Golle
2023-02-07 14:18 ` Daniel Golle
2023-02-07 14:18 ` [PATCH v2 01/11] net: ethernet: mtk_eth_soc: add support for MT7981 SoC Daniel Golle
2023-02-07 14:18   ` Daniel Golle
2023-02-07 14:19 ` [PATCH v2 02/11] dt-bindings: net: mediatek,net: add mt7981-eth binding Daniel Golle
2023-02-07 14:19   ` Daniel Golle
2023-02-07 17:36   ` Krzysztof Kozlowski
2023-02-07 17:36     ` Krzysztof Kozlowski
2023-02-07 14:19 ` [PATCH v2 03/11] dt-bindings: arm: mediatek: add 'mediatek,pn_swap' property Daniel Golle
2023-02-07 14:19   ` Daniel Golle
2023-02-07 17:38   ` Krzysztof Kozlowski
2023-02-07 17:38     ` Krzysztof Kozlowski
2023-02-07 18:00     ` Daniel Golle
2023-02-07 18:00       ` Daniel Golle
2023-02-08  9:32       ` Krzysztof Kozlowski
2023-02-08  9:32         ` Krzysztof Kozlowski
2023-02-08 13:51         ` Daniel Golle
2023-02-08 13:51           ` Daniel Golle
2023-02-08 20:08           ` Krzysztof Kozlowski
2023-02-08 20:08             ` Krzysztof Kozlowski
2023-02-08 22:30             ` Daniel Golle
2023-02-08 22:30               ` Daniel Golle
2023-02-09 11:30               ` Krzysztof Kozlowski
2023-02-09 11:30                 ` Krzysztof Kozlowski
2023-02-10 10:34                 ` Russell King (Oracle)
2023-02-10 10:34                   ` Russell King (Oracle)
2023-02-10 12:23                   ` Russell King (Oracle)
2023-02-10 12:23                     ` Russell King (Oracle)
2023-02-10 12:35                     ` Krzysztof Kozlowski
2023-02-10 12:35                       ` Krzysztof Kozlowski
2023-02-10 10:30     ` Russell King (Oracle)
2023-02-10 10:30       ` Russell King (Oracle)
2023-02-07 14:20 ` [PATCH v2 04/11] net: ethernet: mtk_eth_soc: set MDIO bus clock frequency Daniel Golle
2023-02-07 14:20   ` Daniel Golle
2023-02-07 17:07   ` Andrew Lunn
2023-02-07 17:07     ` Andrew Lunn
2023-02-07 14:21 ` Daniel Golle [this message]
2023-02-07 14:21   ` [PATCH v2 05/11] net: ethernet: mtk_eth_soc: reset PCS state Daniel Golle
2023-02-10 10:36   ` Russell King (Oracle)
2023-02-10 10:36     ` Russell King (Oracle)
2023-02-07 14:21 ` [PATCH v2 06/11] net: ethernet: mtk_eth_soc: only write values if needed Daniel Golle
2023-02-07 14:21   ` Daniel Golle
2023-02-10 10:38   ` Russell King (Oracle)
2023-02-10 10:38     ` Russell King (Oracle)
2023-02-07 14:22 ` [PATCH v2 07/11] net: ethernet: mtk_eth_soc: fix RX data corruption issue Daniel Golle
2023-02-07 14:22   ` Daniel Golle
2023-02-07 14:22 ` [PATCH v2 08/11] net: ethernet: mtk_eth_soc: ppe: add support for flow accounting Daniel Golle
2023-02-07 14:22   ` Daniel Golle
2023-02-07 14:23 ` [PATCH v2 09/11] net: pcs: add driver for MediaTek SGMII PCS Daniel Golle
2023-02-07 14:23   ` Daniel Golle
2023-02-10 10:50   ` Russell King (Oracle)
2023-02-10 10:50     ` Russell King (Oracle)
2023-02-07 14:23 ` [PATCH v2 10/11] net: ethernet: mtk_eth_soc: switch to external PCS driver Daniel Golle
2023-02-07 14:23   ` Daniel Golle
2023-02-07 14:30   ` Daniel Golle
2023-02-07 14:30     ` Daniel Golle
2023-02-07 14:24 ` [PATCH v2 11/11] net: dsa: mt7530: use " Daniel Golle
2023-02-07 14:24   ` Daniel Golle
2023-02-10 10:56   ` Russell King (Oracle)
2023-02-10 10:56     ` Russell King (Oracle)
2023-02-10 12:52     ` Daniel Golle
2023-02-10 12:52       ` Daniel Golle
2023-02-10 22:17     ` Daniel Golle
2023-02-10 22:17       ` Daniel Golle

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=fec3af02420c4c241465abc28442b7a77bc588aa.1675779094.git.daniel@makrotopia.org \
    --to=daniel@makrotopia.org \
    --cc=Landen.Chao@mediatek.com \
    --cc=Mark-MC.Lee@mediatek.com \
    --cc=andrew@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bjorn@mork.no \
    --cc=davem@davemloft.net \
    --cc=dqfext@gmail.com \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=john@phrozen.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=lorenzo@kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=nbd@nbd.name \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=sean.wang@mediatek.com \
    --cc=zhaojh329@gmail.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 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.