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: Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-stm32@st-md-mailman.stormreply.com,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	netdev@vger.kernel.org, Paolo Abeni <pabeni@redhat.com>
Subject: [PATCH net-next 09/11] net: stmmac: ingenic: simplify x2000 mac_set_mode()
Date: Wed, 05 Nov 2025 13:26:53 +0000	[thread overview]
Message-ID: <E1vGdXJ-0000000CloA-3yVc@rmk-PC.armlinux.org.uk> (raw)
In-Reply-To: <aQtQYlEY9crH0IKo@shell.armlinux.org.uk>

As per the previous commit, we have validated that the phy_intf_sel
value is one that is permissible for this SoC, so there is no need to
handle invalid PHY interface modes. We can also apply the other
configuration based upon the phy_intf_sel value rather than the
PHY interface mode.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
 .../ethernet/stmicro/stmmac/dwmac-ingenic.c   | 26 +++++--------------
 1 file changed, 6 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-ingenic.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-ingenic.c
index 7b2576fbb1e1..98fd4c31a694 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-ingenic.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ingenic.c
@@ -122,35 +122,21 @@ static int x2000_mac_set_mode(struct plat_stmmacenet_data *plat_dat,
 	struct ingenic_mac *mac = plat_dat->bsp_priv;
 	unsigned int val;
 
-	switch (plat_dat->phy_interface) {
-	case PHY_INTERFACE_MODE_RMII:
+	if (phy_intf_sel == PHY_INTF_SEL_RMII) {
 		val = FIELD_PREP(MACPHYC_TX_SEL_MASK, MACPHYC_TX_SEL_ORIGIN) |
-			  FIELD_PREP(MACPHYC_RX_SEL_MASK, MACPHYC_RX_SEL_ORIGIN);
-		break;
-
-	case PHY_INTERFACE_MODE_RGMII:
-	case PHY_INTERFACE_MODE_RGMII_ID:
-	case PHY_INTERFACE_MODE_RGMII_TXID:
-	case PHY_INTERFACE_MODE_RGMII_RXID:
-		val = 0;
+		      FIELD_PREP(MACPHYC_RX_SEL_MASK, MACPHYC_RX_SEL_ORIGIN);
+	} else if (phy_intf_sel == PHY_INTF_SEL_RGMII) {
 		if (mac->tx_delay == 0)
-			val |= FIELD_PREP(MACPHYC_TX_SEL_MASK, MACPHYC_TX_SEL_ORIGIN);
+			val = FIELD_PREP(MACPHYC_TX_SEL_MASK, MACPHYC_TX_SEL_ORIGIN);
 		else
-			val |= FIELD_PREP(MACPHYC_TX_SEL_MASK, MACPHYC_TX_SEL_DELAY) |
-				   FIELD_PREP(MACPHYC_TX_DELAY_MASK, (mac->tx_delay + 9750) / 19500 - 1);
+			val = FIELD_PREP(MACPHYC_TX_SEL_MASK, MACPHYC_TX_SEL_DELAY) |
+			      FIELD_PREP(MACPHYC_TX_DELAY_MASK, (mac->tx_delay + 9750) / 19500 - 1);
 
 		if (mac->rx_delay == 0)
 			val |= FIELD_PREP(MACPHYC_RX_SEL_MASK, MACPHYC_RX_SEL_ORIGIN);
 		else
 			val |= FIELD_PREP(MACPHYC_RX_SEL_MASK, MACPHYC_RX_SEL_DELAY) |
 				   FIELD_PREP(MACPHYC_RX_DELAY_MASK, (mac->rx_delay + 9750) / 19500 - 1);
-
-		break;
-
-	default:
-		dev_err(mac->dev, "Unsupported interface %s\n",
-			phy_modes(plat_dat->phy_interface));
-		return -EINVAL;
 	}
 
 	val |= FIELD_PREP(MACPHYC_PHY_INFT_MASK, phy_intf_sel);
-- 
2.47.3


  parent reply	other threads:[~2025-11-05 13:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-05 13:25 [PATCH net-next 0/11] net: stmmac: ingenic: convert to set_phy_intf_sel() Russell King (Oracle)
2025-11-05 13:26 ` [PATCH net-next 01/11] net: stmmac: ingenic: move ingenic_mac_init() Russell King (Oracle)
2025-11-06  9:49   ` Maxime Chevallier
2025-11-05 13:26 ` [PATCH net-next 02/11] net: stmmac: ingenic: simplify jz4775 mac_set_mode() Russell King (Oracle)
2025-11-06  9:51   ` Maxime Chevallier
2025-11-05 13:26 ` [PATCH net-next 03/11] net: stmmac: ingenic: use PHY_INTF_SEL_xxx to select PHY interface Russell King (Oracle)
2025-11-06  9:53   ` Maxime Chevallier
2025-11-05 13:26 ` [PATCH net-next 04/11] net: stmmac: ingenic: use PHY_INTF_SEL_x directly Russell King (Oracle)
2025-11-06  9:54   ` Maxime Chevallier
2025-11-05 13:26 ` [PATCH net-next 05/11] net: stmmac: ingenic: prep PHY_INTF_SEL_x field after switch() Russell King (Oracle)
2025-11-05 13:26 ` [PATCH net-next 06/11] net: stmmac: ingenic: use stmmac_get_phy_intf_sel() Russell King (Oracle)
2025-11-05 13:26 ` [PATCH net-next 07/11] net: stmmac: ingenic: move "MAC PHY control register" debug Russell King (Oracle)
2025-11-05 13:26 ` [PATCH net-next 08/11] net: stmmac: ingenic: simplify mac_set_mode() methods Russell King (Oracle)
2025-11-05 13:26 ` Russell King (Oracle) [this message]
2025-11-06  1:18   ` [PATCH net-next 09/11] net: stmmac: ingenic: simplify x2000 mac_set_mode() Jakub Kicinski
2025-11-06  1:55     ` Russell King (Oracle)
2025-11-06  9:06   ` kernel test robot
2025-11-05 13:26 ` [PATCH net-next 10/11] net: stmmac: ingenic: pass ingenic_mac struct rather than plat_dat Russell King (Oracle)
2025-11-05 13:27 ` [PATCH net-next 11/11] net: stmmac: ingenic: use ->set_phy_intf_sel() Russell King (Oracle)

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=E1vGdXJ-0000000CloA-3yVc@rmk-PC.armlinux.org.uk \
    --to=rmk+kernel@armlinux.org.uk \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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).