All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: "Clément Léger" <clement.leger@bootlin.com>
Cc: "Andrew Lunn" <andrew@lunn.ch>,
	"Vivien Didelot" <vivien.didelot@gmail.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Vladimir Oltean" <olteanv@gmail.com>,
	"David S . Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Magnus Damm" <magnus.damm@gmail.com>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	"Giuseppe Cavallaro" <peppe.cavallaro@st.com>,
	"Jose Abreu" <joabreu@synopsys.com>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Herve Codina" <herve.codina@bootlin.com>,
	"Miquèl Raynal" <miquel.raynal@bootlin.com>,
	"Milan Stevanovic" <milan.stevanovic@se.com>,
	"Jimmy Lalande" <jimmy.lalande@se.com>,
	"Pascal Eberhard" <pascal.eberhard@se.com>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH net-next v9 05/16] net: pcs: add Renesas MII converter driver
Date: Tue, 28 Jun 2022 17:42:58 +0100	[thread overview]
Message-ID: <YrsvkqBbzUvTYOeI@shell.armlinux.org.uk> (raw)
In-Reply-To: <20220624144001.95518-6-clement.leger@bootlin.com>

On Fri, Jun 24, 2022 at 04:39:50PM +0200, Clément Léger wrote:
> Add a PCS driver for the MII converter that is present on the Renesas
> RZ/N1 SoC. This MII converter is reponsible for converting MII to
> RMII/RGMII or act as a MII pass-trough. Exposing it as a PCS allows to
> reuse it in both the switch driver and the stmmac driver. Currently,
> this driver only allows the PCS to be used by the dual Cortex-A7
> subsystem since the register locking system is not used.
> 
> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>

Looks good to me, thanks.

The only issue I haven't brought up is:

> +static int miic_config(struct phylink_pcs *pcs, unsigned int mode,
> +		       phy_interface_t interface,
> +		       const unsigned long *advertising, bool permit)
> +{
> +	struct miic_port *miic_port = phylink_pcs_to_miic_port(pcs);
> +	struct miic *miic = miic_port->miic;
> +	int port = miic_port->port;
> +	u32 speed, conv_mode, val;
> +
> +	switch (interface) {
> +	case PHY_INTERFACE_MODE_RMII:
> +		conv_mode = CONV_MODE_RMII;
> +		speed = CONV_MODE_100MBPS;
> +		break;
> +	case PHY_INTERFACE_MODE_RGMII:
> +	case PHY_INTERFACE_MODE_RGMII_ID:
> +	case PHY_INTERFACE_MODE_RGMII_TXID:
> +	case PHY_INTERFACE_MODE_RGMII_RXID:
> +		conv_mode = CONV_MODE_RGMII;
> +		speed = CONV_MODE_1000MBPS;
> +		break;
> +	case PHY_INTERFACE_MODE_MII:
> +		conv_mode = CONV_MODE_MII;
> +		/* When in MII mode, speed should be set to 0 (which is actually
> +		 * CONV_MODE_10MBPS)
> +		 */
> +		speed = CONV_MODE_10MBPS;
> +		break;
> +	default:
> +		return -EOPNOTSUPP;
> +	}
> +
> +	val = FIELD_PREP(MIIC_CONVCTRL_CONV_MODE, conv_mode) |
> +	      FIELD_PREP(MIIC_CONVCTRL_CONV_SPEED, speed);
> +
> +	miic_reg_rmw(miic, MIIC_CONVCTRL(port),
> +		     MIIC_CONVCTRL_CONV_MODE | MIIC_CONVCTRL_CONV_SPEED, val);
> +	miic_converter_enable(miic_port->miic, miic_port->port, 1);
> +
> +	return 0;
> +}

the stting of the speed here. As this function can be called as a result
of ethtool setting the configuration while the link is up, this could
have disasterous effects on the link. This will only happen if there is
no PHY present and we aren't using fixed-link mode.

Therefore, I'm willing to get this pass, but I think it would be better
if the speed was only updated if the interface setting is actually
being changed. So:

Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

  parent reply	other threads:[~2022-06-28 16:46 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-24 14:39 [PATCH net-next v9 00/16] add support for Renesas RZ/N1 ethernet subsystem devices Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 01/16] net: dsa: allow port_bridge_join() to override extack message Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 02/16] net: dsa: add support for ethtool get_rmon_stats() Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 03/16] net: dsa: add Renesas RZ/N1 switch tag driver Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 04/16] dt-bindings: net: pcs: add bindings for Renesas RZ/N1 MII converter Clément Léger
2022-06-29 14:38   ` Geert Uytterhoeven
2022-06-24 14:39 ` [PATCH net-next v9 05/16] net: pcs: add Renesas MII converter driver Clément Léger
2022-06-25  2:35   ` Florian Fainelli
2022-06-28 16:42   ` Russell King (Oracle) [this message]
2022-06-28 16:49     ` Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 06/16] dt-bindings: net: dsa: add bindings for Renesas RZ/N1 Advanced 5 port switch Clément Léger
2022-06-28 15:37   ` Geert Uytterhoeven
2022-06-28 16:18     ` Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 07/16] net: dsa: rzn1-a5psw: add Renesas RZ/N1 advanced 5 port switch driver Clément Léger
2022-06-25  2:37   ` Florian Fainelli
2022-06-24 14:39 ` [PATCH net-next v9 08/16] net: dsa: rzn1-a5psw: add statistics support Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 09/16] net: dsa: rzn1-a5psw: add FDB support Clément Léger
2022-06-25  2:37   ` Florian Fainelli
2022-06-24 14:39 ` [PATCH net-next v9 10/16] dt-bindings: net: snps,dwmac: add "power-domains" property Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 11/16] dt-bindings: net: snps,dwmac: add "renesas,rzn1" compatible Clément Léger
2022-06-24 14:39 ` [PATCH net-next v9 12/16] ARM: dts: r9a06g032: describe MII converter Clément Léger
2022-06-25  2:38   ` Florian Fainelli
2022-06-28 15:28   ` Geert Uytterhoeven
2022-06-24 14:39 ` [PATCH net-next v9 13/16] ARM: dts: r9a06g032: describe GMAC2 Clément Léger
2022-06-25  2:38   ` Florian Fainelli
2022-06-28 15:30   ` Geert Uytterhoeven
2022-06-24 14:39 ` [PATCH net-next v9 14/16] ARM: dts: r9a06g032: describe switch Clément Léger
2022-06-25  2:39   ` Florian Fainelli
2022-06-28 15:31   ` Geert Uytterhoeven
2022-06-24 14:40 ` [PATCH net-next v9 15/16] ARM: dts: r9a06g032-rzn1d400-db: add switch description Clément Léger
2022-06-25  2:40   ` Florian Fainelli
2022-06-28 15:34   ` Geert Uytterhoeven
2022-06-28 16:20     ` Clément Léger
2022-06-24 14:40 ` [PATCH net-next v9 16/16] MAINTAINERS: add Renesas RZ/N1 switch related driver entry Clément Léger
2022-06-24 21:43 ` [PATCH net-next v9 00/16] add support for Renesas RZ/N1 ethernet subsystem devices Vladimir Oltean
2022-06-27  7:38   ` Clément Léger
2022-06-27 10:50 ` patchwork-bot+netdevbpf
2022-06-27 11:11   ` Geert Uytterhoeven

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=YrsvkqBbzUvTYOeI@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andrew@lunn.ch \
    --cc=clement.leger@bootlin.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=herve.codina@bootlin.com \
    --cc=hkallweit1@gmail.com \
    --cc=jimmy.lalande@se.com \
    --cc=joabreu@synopsys.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=milan.stevanovic@se.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=pascal.eberhard@se.com \
    --cc=peppe.cavallaro@st.com \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vivien.didelot@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.