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
next prev 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: linkBe 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.