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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22184C76196 for ; Sat, 1 Apr 2023 13:06:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229706AbjDANGF (ORCPT ); Sat, 1 Apr 2023 09:06:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229379AbjDANGE (ORCPT ); Sat, 1 Apr 2023 09:06:04 -0400 Received: from fudo.makrotopia.org (fudo.makrotopia.org [IPv6:2a07:2ec0:3002::71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 185BBAF3E; Sat, 1 Apr 2023 06:06:03 -0700 (PDT) Received: from local by fudo.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.96) (envelope-from ) id 1piava-0008Q2-1A; Sat, 01 Apr 2023 15:05:54 +0200 Date: Sat, 1 Apr 2023 14:05:48 +0100 From: Daniel Golle To: =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= Cc: netdev@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux@armlinux.org.uk, linux-kernel@vger.kernel.org, Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , Sean Wang , Landen Chao , DENG Qingfang , Philipp Zabel , Sam Shih , Lorenzo Bianconi , John Crispin , Felix Fietkau Subject: Re: [PATCH net-next 13/15] net: dsa: mt7530: add support for 10G link modes for CPU port Message-ID: References: <89ef48606fdbe896705a57a65a85c22cae01936e.1680180959.git.daniel@makrotopia.org> <8f213456-af0b-3047-d7ec-865fecec8142@arinc9.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8f213456-af0b-3047-d7ec-865fecec8142@arinc9.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Sat, Apr 01, 2023 at 11:56:43AM +0300, Arınç ÜNAL wrote: > On 30.03.2023 18:23, Daniel Golle wrote: > > The built-in switch of the MT7988 SoC is internally connected using > > a stateless 10G link. Add support for 10G interface modes to silence > > a warning otherwise occurring when the switch driver is setup. > > > > Reviewed-by: Andrew Lunn > > Signed-off-by: Daniel Golle > > --- > > drivers/net/dsa/mt7530.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c > > index 3a4682e71e746..ac666da2d10dc 100644 > > --- a/drivers/net/dsa/mt7530.c > > +++ b/drivers/net/dsa/mt7530.c > > @@ -2618,6 +2618,9 @@ mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode, > > case PHY_INTERFACE_MODE_1000BASEX: > > case PHY_INTERFACE_MODE_2500BASEX: > > /* handled in SGMII PCS driver */ > > + case PHY_INTERFACE_MODE_USXGMII: > > + case PHY_INTERFACE_MODE_10GKR: > > + /* internal stateless 10G link */ > > return 0; > > default: > > return -EINVAL; > > I think it'd be better to make this explicitly for the switch in the > MT7988 SoC. I decided to rather introduce mt7988_mac_config (a noop returning either 0 or -EINVAL), mt7988_mac_port_get_caps (allowing only USXGMII and 10000FD) and mt7988_cpu_port_config (setting CPU port bit in registers but not caring about interface mode and speed other than USXGMII/10000FD). The updated commit adding MT7988 is here: https://github.com/dangowrt/linux/commit/595c940cbee90b5dbdc8173974a007fefe641550 So then I dropped "net: dsa: mt7530: add support for 10G link modes for CPU port" because it is no longer needed if all this is done explicitely for MT7988. > > diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c > index e5347dd2521b..f7542c7f60e4 100644 > --- a/drivers/net/dsa/mt7530.c > +++ b/drivers/net/dsa/mt7530.c > @@ -2666,10 +2665,13 @@ mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode, > case PHY_INTERFACE_MODE_1000BASEX: > case PHY_INTERFACE_MODE_2500BASEX: > /* handled in SGMII PCS driver */ > + return 0; > case PHY_INTERFACE_MODE_USXGMII: > case PHY_INTERFACE_MODE_10GKR: > - /* internal stateless 10G link */ > - return 0; > + if (priv->id == ID_MT7988) > + /* internal stateless 10G link */ > + return 0; > + > default: > return -EINVAL; > } > > Arınç