From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AF506D116F3 for ; Mon, 1 Dec 2025 14:59:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Date:Message-Id:MIME-Version:Subject:Cc :To:From:References:In-Reply-To:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KAQpzjW8LXXE54lJVh/p+jGHezGfv/s9DT2JwQUWm/s=; b=VRNIYnDPRJtYGm Y5KjUY6LxV2EsTiTSigUYdQy8RcBTpCZL3kfxNKIKe32S6WBbmy5rT9aIK47G8xT59nqQKs8Gkx4F S8RVReoHcYU7HykGCnfPRTiTmqmuwMmwst6Y1/Ez9pxwd6wny8GAqF1LZKIlIuMqriNgK4PW9i8Bn REjKSiPyhUbNPlEY5c35jFeNEkvw1vD9lGhLWOCAfJ24+i52rqZ2j1dPP3FWkptXs+DZYpmk4K3sd cIPaTl+PuElae0AUut21ctq/VhbV9pJ6RpR4USiLqbDsiyu7lqPGJKp3NDkUL5LktGoYV2q6Gw4XQ 1XyxAT6X9GUGXOFs8Exg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vQ5Mh-000000048dZ-44wp; Mon, 01 Dec 2025 14:58:59 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vQ5Mf-000000048bo-3vjW; Mon, 01 Dec 2025 14:58:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Date:Sender:Message-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:Subject:Cc:To:From:References: In-Reply-To:Reply-To:Content-ID:Content-Description; bh=3jRvtkVw87jmhh6YhUoOXEndpCbNrDMhhtkQJisPGAs=; b=N0NLMsVFixj2I5VNDYpjF8RWtS CFOFOTzazm8BW11Mk+qORRsrIfRwTQFRIGwhIilcNrB9PsHe9fTZVCPNo4glEsr2Kv6NMX3xVJakA y40mBJJLJ+lkcCkJPrCfdNQKAB0/fqhJRxpeK4kAVFKYtTfxI1GdhrgUn2VeFFw2VvqWqLJESsjim DOeF/yYFsNKBjadD+G7H0eBVE4P0dtM8BYWxIhazZ3M3wd+GLXT2M2E0qteInMEGZNKGggwxL8GxE 1+bd70aKONqgqtihnVP5ps4XjPeNOqCsGx4ElMWE9YvdFJscCqv7IOVZeoKyKfAgbO9e1nPlSji9P S/OaiFUA==; Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vQ4V4-0000000G2uc-0ML5; Mon, 01 Dec 2025 14:03:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Date:Sender:Message-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:Subject:Cc:To:From:References: In-Reply-To:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=3jRvtkVw87jmhh6YhUoOXEndpCbNrDMhhtkQJisPGAs=; b=LMHqG5sykw82exRiJoCH74/sSL vfkYileQdtcvUXc4wIRVWQLdX6YjmX6dJYMOSvw4zyZlgPk5SE2Q8mi+d5GdhDv94AK/JRBrfcF4F 7oJaU+o1fNLtXeiJByvu9cJyLU7JwOcp7TGx6yOtYDYh3UwVQMz54b/RCi3TkZ1aqVa0mds3fLsS3 SIwcFl9lFa0Fsm6GqMC1hjsHch39A5B5yOp9UO/afzWb+qGQQmnTSZBhhAR/gLaqaPSnFCu08t53s xU5GGsTQq/1pnJOSvrfTACGUPCm8UEpwanGQLAVq29xcn8ZRsFHs98zCCQOkuksPBjzkHXGQn8+Sc WhR5i6Lw==; Received: from e0022681537dd.dyn.armlinux.org.uk ([fd8f:7570:feb6:1:222:68ff:fe15:37dd]:46770 helo=rmk-PC.armlinux.org.uk) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vQ5Fs-000000000i6-0n8d; Mon, 01 Dec 2025 14:51:57 +0000 Received: from rmk by rmk-PC.armlinux.org.uk with local (Exim 4.98.2) (envelope-from ) id 1vQ5Fl-0000000GNwf-16ec; Mon, 01 Dec 2025 14:51:49 +0000 In-Reply-To: References: From: "Russell King (Oracle)" To: Andrew Lunn , Heiner Kallweit Cc: Alexandre Torgue , Andrew Lunn , "David S. Miller" , Eric Dumazet , Heiko Stuebner , Jakub Kicinski , linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Maxime Coquelin , netdev@vger.kernel.org, Paolo Abeni Subject: [PATCH RFC net-next 13/15] net: stmmac: rk: replace empty set_to_rmii() with supports_rmii MIME-Version: 1.0 Content-Disposition: inline Message-Id: Date: Mon, 01 Dec 2025 14:51:49 +0000 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251201_140334_394633_E36CFC5D X-CRM114-Status: UNSURE ( 9.63 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org Rather than providing a now-empty set_to_rmii() method to indicate that RMII is supported, switch to setting ops->supports_rmii instead. Signed-off-by: Russell King (Oracle) --- .../net/ethernet/stmicro/stmmac/dwmac-rk.c | 86 ++++++------------- 1 file changed, 24 insertions(+), 62 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index fbc0e50519f6..c9a915b2cb84 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -241,12 +241,7 @@ static void rk_gmac_integrated_fephy_powerdown(struct rk_priv_data *priv, #define PX30_GRF_GMAC_CON1 0x0904 -static void px30_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops px30_ops = { - .set_to_rmii = px30_set_to_rmii, .set_speed = rk_set_clk_mac_speed, .phy_intf_sel_grf_reg = PX30_GRF_GMAC_CON1, @@ -254,6 +249,8 @@ static const struct rk_gmac_ops px30_ops = { .speed_grf_reg = PX30_GRF_GMAC_CON1, .mac_speed_mask = BIT_U16(2), + + .supports_rmii = true, }; #define RK3128_GRF_MAC_CON0 0x0168 @@ -280,13 +277,8 @@ static void rk3128_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3128_GMAC_CLK_TX_DL_CFG(tx_delay)); } -static void rk3128_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3128_ops = { .set_to_rgmii = rk3128_set_to_rgmii, - .set_to_rmii = rk3128_set_to_rmii, .phy_intf_sel_grf_reg = RK3128_GRF_MAC_CON1, .phy_intf_sel_mask = GENMASK_U16(8, 6), @@ -296,6 +288,8 @@ static const struct rk_gmac_ops rk3128_ops = { .gmii_clk_sel_mask = GENMASK_U16(13, 12), .rmii_clk_sel_mask = BIT_U16(11), .mac_speed_mask = BIT_U16(10), + + .supports_rmii = true, }; #define RK3228_GRF_MAC_CON0 0x0900 @@ -383,13 +377,8 @@ static void rk3288_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3288_GMAC_CLK_TX_DL_CFG(tx_delay)); } -static void rk3288_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3288_ops = { .set_to_rgmii = rk3288_set_to_rgmii, - .set_to_rmii = rk3288_set_to_rmii, .phy_intf_sel_grf_reg = RK3288_GRF_SOC_CON1, .phy_intf_sel_mask = GENMASK_U16(8, 6), @@ -399,6 +388,8 @@ static const struct rk_gmac_ops rk3288_ops = { .gmii_clk_sel_mask = GENMASK_U16(13, 12), .rmii_clk_sel_mask = BIT_U16(11), .mac_speed_mask = BIT_U16(10), + + .supports_rmii = true, }; #define RK3308_GRF_MAC_CON0 0x04a0 @@ -407,18 +398,14 @@ static const struct rk_gmac_ops rk3288_ops = { #define RK3308_GMAC_FLOW_CTRL GRF_BIT(3) #define RK3308_GMAC_FLOW_CTRL_CLR GRF_CLR_BIT(3) -static void rk3308_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3308_ops = { - .set_to_rmii = rk3308_set_to_rmii, - .phy_intf_sel_grf_reg = RK3308_GRF_MAC_CON0, .phy_intf_sel_mask = GENMASK_U16(4, 2), .speed_grf_reg = RK3308_GRF_MAC_CON0, .mac_speed_mask = BIT_U16(0), + + .supports_rmii = true, }; #define RK3328_GRF_MAC_CON0 0x0900 @@ -470,10 +457,6 @@ static void rk3328_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3328_GMAC_CLK_TX_DL_CFG(tx_delay)); } -static void rk3328_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static void rk3328_integrated_phy_powerup(struct rk_priv_data *priv) { regmap_write(priv->grf, RK3328_GRF_MACPHY_CON1, @@ -485,7 +468,6 @@ static void rk3328_integrated_phy_powerup(struct rk_priv_data *priv) static const struct rk_gmac_ops rk3328_ops = { .init = rk3328_init, .set_to_rgmii = rk3328_set_to_rgmii, - .set_to_rmii = rk3328_set_to_rmii, .integrated_phy_powerup = rk3328_integrated_phy_powerup, .integrated_phy_powerdown = rk_gmac_integrated_ephy_powerdown, @@ -495,6 +477,8 @@ static const struct rk_gmac_ops rk3328_ops = { .rmii_clk_sel_mask = BIT_U16(7), .mac_speed_mask = BIT_U16(2), + .supports_rmii = true, + .regs_valid = true, .regs = { 0xff540000, /* gmac2io */ @@ -527,13 +511,8 @@ static void rk3366_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3366_GMAC_CLK_TX_DL_CFG(tx_delay)); } -static void rk3366_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3366_ops = { .set_to_rgmii = rk3366_set_to_rgmii, - .set_to_rmii = rk3366_set_to_rmii, .phy_intf_sel_grf_reg = RK3366_GRF_SOC_CON6, .phy_intf_sel_mask = GENMASK_U16(11, 9), @@ -543,6 +522,8 @@ static const struct rk_gmac_ops rk3366_ops = { .gmii_clk_sel_mask = GENMASK_U16(5, 4), .rmii_clk_sel_mask = BIT_U16(3), .mac_speed_mask = BIT_U16(7), + + .supports_rmii = true, }; #define RK3368_GRF_SOC_CON15 0x043c @@ -569,13 +550,8 @@ static void rk3368_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3368_GMAC_CLK_TX_DL_CFG(tx_delay)); } -static void rk3368_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3368_ops = { .set_to_rgmii = rk3368_set_to_rgmii, - .set_to_rmii = rk3368_set_to_rmii, .phy_intf_sel_grf_reg = RK3368_GRF_SOC_CON15, .phy_intf_sel_mask = GENMASK_U16(11, 9), @@ -585,6 +561,8 @@ static const struct rk_gmac_ops rk3368_ops = { .gmii_clk_sel_mask = GENMASK_U16(5, 4), .rmii_clk_sel_mask = BIT_U16(3), .mac_speed_mask = BIT_U16(7), + + .supports_rmii = true, }; #define RK3399_GRF_SOC_CON5 0xc214 @@ -611,13 +589,8 @@ static void rk3399_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3399_GMAC_CLK_TX_DL_CFG(tx_delay)); } -static void rk3399_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3399_ops = { .set_to_rgmii = rk3399_set_to_rgmii, - .set_to_rmii = rk3399_set_to_rmii, .phy_intf_sel_grf_reg = RK3399_GRF_SOC_CON5, .phy_intf_sel_mask = GENMASK_U16(11, 9), @@ -627,6 +600,8 @@ static const struct rk_gmac_ops rk3399_ops = { .gmii_clk_sel_mask = GENMASK_U16(5, 4), .rmii_clk_sel_mask = BIT_U16(3), .mac_speed_mask = BIT_U16(7), + + .supports_rmii = true, }; #define RK3506_GRF_SOC_CON8 0x0020 @@ -858,18 +833,15 @@ static void rk3568_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3568_GMAC_TXCLK_DLY_ENABLE); } -static void rk3568_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rk3568_ops = { .init = rk3568_init, .set_to_rgmii = rk3568_set_to_rgmii, - .set_to_rmii = rk3568_set_to_rmii, .set_speed = rk_set_clk_mac_speed, .phy_intf_sel_mask = GENMASK_U16(6, 4), + .supports_rmii = true, + .regs_valid = true, .regs = { 0xfe2a0000, /* gmac0 */ @@ -943,10 +915,6 @@ static void rk3576_set_to_rgmii(struct rk_priv_data *bsp_priv, RK3576_GMAC_CLK_RX_DL_CFG(rx_delay)); } -static void rk3576_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static void rk3576_set_clock_selection(struct rk_priv_data *bsp_priv, bool input, bool enable) { @@ -966,7 +934,6 @@ static void rk3576_set_clock_selection(struct rk_priv_data *bsp_priv, bool input static const struct rk_gmac_ops rk3576_ops = { .init = rk3576_init, .set_to_rgmii = rk3576_set_to_rgmii, - .set_to_rmii = rk3576_set_to_rmii, .set_clock_selection = rk3576_set_clock_selection, .rmii_mode_mask = BIT_U16(3), @@ -974,6 +941,8 @@ static const struct rk_gmac_ops rk3576_ops = { .gmii_clk_sel_mask = GENMASK_U16(6, 5), .rmii_clk_sel_mask = BIT_U16(5), + .supports_rmii = true, + .php_grf_required = true, .regs_valid = true, .regs = { @@ -1093,19 +1062,15 @@ static const struct rk_gmac_ops rk3588_ops = { #define RV1108_GMAC_FLOW_CTRL GRF_BIT(3) #define RV1108_GMAC_FLOW_CTRL_CLR GRF_CLR_BIT(3) -static void rv1108_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rv1108_ops = { - .set_to_rmii = rv1108_set_to_rmii, - .phy_intf_sel_grf_reg = RV1108_GRF_GMAC_CON0, .phy_intf_sel_mask = GENMASK_U16(6, 4), .speed_grf_reg = RV1108_GRF_GMAC_CON0, .rmii_clk_sel_mask = BIT_U16(7), .mac_speed_mask = BIT_U16(2), + + .supports_rmii = true, }; #define RV1126_GRF_GMAC_CON0 0X0070 @@ -1149,17 +1114,14 @@ static void rv1126_set_to_rgmii(struct rk_priv_data *bsp_priv, RV1126_GMAC_M1_CLK_TX_DL_CFG(tx_delay)); } -static void rv1126_set_to_rmii(struct rk_priv_data *bsp_priv) -{ -} - static const struct rk_gmac_ops rv1126_ops = { .set_to_rgmii = rv1126_set_to_rgmii, - .set_to_rmii = rv1126_set_to_rmii, .set_speed = rk_set_clk_mac_speed, .phy_intf_sel_grf_reg = RV1126_GRF_GMAC_CON0, .phy_intf_sel_mask = GENMASK_U16(6, 4), + + .supports_rmii = true, }; static int rk_gmac_clk_init(struct plat_stmmacenet_data *plat) -- 2.47.3 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip