netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>, Heiner Kallweit <hkallweit1@gmail.com>
Cc: Abhishek Chauhan <quic_abchauha@quicinc.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Alexis Lothore <alexis.lothore@bootlin.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	Boon Khai Ng <boon.khai.ng@altera.com>,
	Choong Yong Liang <yong.liang.choong@linux.intel.com>,
	Daniel Machon <daniel.machon@microchip.com>,
	"David S. Miller" <davem@davemloft.net>,
	Drew Fustini <dfustini@tenstorrent.com>,
	Emil Renner Berthing <emil.renner.berthing@canonical.com>,
	Eric Dumazet <edumazet@google.com>,
	Faizal Rahim <faizal.abdul.rahim@linux.intel.com>,
	Furong Xu <0x1207@gmail.com>, Inochi Amaoto <inochiama@gmail.com>,
	Jacob Keller <jacob.e.keller@intel.com>,
	Jakub Kicinski <kuba@kernel.org>,
	"Jan Petrous (OSS)" <jan.petrous@oss.nxp.com>,
	Jisheng Zhang <jszhang@kernel.org>, Kees Cook <kees@kernel.org>,
	Kunihiko Hayashi <hayashi.kunihiko@socionext.com>,
	Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	Ley Foon Tan <leyfoon.tan@starfivetech.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	Matthew Gerlach <matthew.gerlach@altera.com>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
	netdev@vger.kernel.org, Oleksij Rempel <o.rempel@pengutronix.de>,
	Paolo Abeni <pabeni@redhat.com>,
	Rohan G Thomas <rohan.g.thomas@altera.com>,
	Shenwei Wang <shenwei.wang@nxp.com>,
	Simon Horman <horms@kernel.org>,
	Song Yoong Siang <yoong.siang.song@intel.com>,
	Swathi K S <swathi.ks@samsung.com>,
	Tiezhu Yang <yangtiezhu@loongson.cn>,
	Vinod Koul <vkoul@kernel.org>,
	Vladimir Oltean <olteanv@gmail.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Yu-Chun Lin <eleanor15x@gmail.com>
Subject: [PATCH net-next 10/14] net: stmmac: hw->ps becomes hw->reverse_sgmii_enable
Date: Wed, 15 Oct 2025 15:20:48 +0100	[thread overview]
Message-ID: <E1v92My-0000000AmHJ-3chv@rmk-PC.armlinux.org.uk> (raw)
In-Reply-To: <aO-tbQCVu47R3izM@shell.armlinux.org.uk>

After a lot of digging, it seems that the oddly named hw->ps member
is all about setting the core into reverse SGMII speed. When set to
a non-zero value, it:

1. Configures the MAC at initialisation time to operate at a specific
   speed.
2. It _incorrectly_ enables the transmitter (GMAC_CONFIG_TE) which
   makes no sense, rather than enabling the "transmit configuration"
   bit (GMAC_CONFIG_TC).
3. It configures the SGMII rate adapter layer to retrieve its speed
   setting from the MAC configuration register rather than the PHY.

In the previous commit, we removed (1) and (2) as phylink overwrites
the configuration set at that step.

Thus, the only functional aspect is (3), which is a boolean operation.
This means there is no need to store the actual speed, and just have a
boolean flag.

Convert the priv->ps member to a boolean, and rename it to
priv->reverse_sgmii_enable to make it more understandable.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
 drivers/net/ethernet/stmicro/stmmac/common.h      | 2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h
index ed5e207ffdba..fee7021246b1 100644
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
@@ -599,13 +599,13 @@ struct mac_device_info {
 	unsigned int mcast_bits_log2;
 	unsigned int rx_csum;
 	unsigned int pcs;
-	unsigned int ps;
 	unsigned int xlgmac;
 	unsigned int num_vlan;
 	u32 vlan_filter[32];
 	bool vlan_fail_q_en;
 	u8 vlan_fail_q;
 	bool hw_vlan_en;
+	bool reverse_sgmii_enable;
 };
 
 struct stmmac_rx_routing {
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 611197cfa34f..8f08366c25a4 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -1096,12 +1096,12 @@ static void stmmac_check_pcs_mode(struct stmmac_priv *priv)
 		case SPEED_10:
 		case SPEED_100:
 		case SPEED_1000:
-			priv->hw->ps = speed;
+			priv->hw->reverse_sgmii_enable = true;
 			break;
 
 		default:
 			dev_warn(priv->device, "invalid port speed\n");
-			priv->hw->ps = 0;
+			priv->hw->reverse_sgmii_enable = false;
 			break;
 		}
 	}
@@ -3486,7 +3486,7 @@ static int stmmac_hw_setup(struct net_device *dev)
 	}
 
 	if (priv->hw->pcs)
-		stmmac_pcs_ctrl_ane(priv, 1, priv->hw->ps);
+		stmmac_pcs_ctrl_ane(priv, 1, priv->hw->reverse_sgmii_enable);
 
 	/* set TX and RX rings length */
 	stmmac_set_rings_length(priv);
-- 
2.47.3


  parent reply	other threads:[~2025-10-15 14:29 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-15 14:19 [PATCH net-next 00/14] net: stmmac: phylink PCS conversion Russell King (Oracle)
2025-10-15 14:20 ` [PATCH net-next 01/14] net: stmmac: remove broken PCS code Russell King (Oracle)
2025-10-15 20:44   ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 02/14] net: stmmac: remove xstats.pcs_* members Russell King (Oracle)
2025-10-15 20:45   ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 03/14] net: stmmac: remove SGMII/RGMII/SMII interrupt handling Russell King (Oracle)
2025-10-15 20:47   ` Andrew Lunn
2025-10-15 21:35   ` Andrew Lunn
2025-10-15 22:12     ` Russell King (Oracle)
2025-10-16 13:07       ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 04/14] net: stmmac: remove PCS "mode" pause handling Russell King (Oracle)
2025-10-15 20:48   ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 05/14] net: stmmac: remove unused PCS loopback support Russell King (Oracle)
2025-10-15 20:50   ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 06/14] net: stmmac: remove hw->ps xxx_core_init() hardware setup Russell King (Oracle)
2025-10-15 14:20 ` [PATCH net-next 07/14] net: stmmac: remove RGMII "pcs" mode Russell King (Oracle)
2025-10-15 20:53   ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 08/14] net: stmmac: move reverse-"pcs" mode setup to stmmac_check_pcs_mode() Russell King (Oracle)
2025-10-15 20:55   ` Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 09/14] net: stmmac: simplify stmmac_check_pcs_mode() Russell King (Oracle)
2025-10-15 20:56   ` Andrew Lunn
2025-10-15 14:20 ` Russell King (Oracle) [this message]
2025-10-15 20:57   ` [PATCH net-next 10/14] net: stmmac: hw->ps becomes hw->reverse_sgmii_enable Andrew Lunn
2025-10-15 14:20 ` [PATCH net-next 11/14] net: stmmac: do not require snps,ps-speed for SGMII Russell King (Oracle)
2025-10-15 21:00   ` Andrew Lunn
2025-10-15 21:26   ` Andrew Lunn
2025-10-15 21:48     ` Russell King (Oracle)
2025-10-16 13:03       ` Andrew Lunn
2025-10-16 13:51         ` Russell King (Oracle)
2025-10-15 14:20 ` [PATCH net-next 12/14] net: stmmac: only call stmmac_pcs_ctrl_ane() for integrated SGMII PCS Russell King (Oracle)
2025-10-15 21:01   ` Andrew Lunn
2025-10-15 14:21 ` [PATCH net-next 13/14] net: stmmac: provide PCS initialisation hook Russell King (Oracle)
2025-10-15 21:11   ` Andrew Lunn
2025-10-15 21:32     ` Russell King (Oracle)
2025-10-15 14:21 ` [PATCH net-next 14/14] net: stmmac: convert to phylink PCS support Russell King (Oracle)
2025-10-15 21:31   ` Andrew Lunn
2025-10-15 21:57     ` Russell King (Oracle)
2025-10-16 13:05       ` Andrew Lunn
2025-10-15 15:10 ` [PATCH net-next 00/14] net: stmmac: phylink PCS conversion Russell King (Oracle)
2025-10-16  7:44   ` Maxime Chevallier

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=E1v92My-0000000AmHJ-3chv@rmk-PC.armlinux.org.uk \
    --to=rmk+kernel@armlinux.org.uk \
    --cc=0x1207@gmail.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alexis.lothore@bootlin.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=boon.khai.ng@altera.com \
    --cc=daniel.machon@microchip.com \
    --cc=davem@davemloft.net \
    --cc=dfustini@tenstorrent.com \
    --cc=edumazet@google.com \
    --cc=eleanor15x@gmail.com \
    --cc=emil.renner.berthing@canonical.com \
    --cc=faizal.abdul.rahim@linux.intel.com \
    --cc=hayashi.kunihiko@socionext.com \
    --cc=hkallweit1@gmail.com \
    --cc=horms@kernel.org \
    --cc=inochiama@gmail.com \
    --cc=jacob.e.keller@intel.com \
    --cc=jan.petrous@oss.nxp.com \
    --cc=jszhang@kernel.org \
    --cc=kees@kernel.org \
    --cc=kuba@kernel.org \
    --cc=leyfoon.tan@starfivetech.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=matthew.gerlach@altera.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=michal.swiatkowski@linux.intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=o.rempel@pengutronix.de \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=quic_abchauha@quicinc.com \
    --cc=rohan.g.thomas@altera.com \
    --cc=shenwei.wang@nxp.com \
    --cc=swathi.ks@samsung.com \
    --cc=vkoul@kernel.org \
    --cc=vladimir.oltean@nxp.com \
    --cc=yangtiezhu@loongson.cn \
    --cc=yong.liang.choong@linux.intel.com \
    --cc=yoong.siang.song@intel.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;
as well as URLs for NNTP newsgroup(s).