From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pidgin.makrotopia.org (pidgin.makrotopia.org [185.142.180.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DEE74FA; Wed, 6 Dec 2023 11:52:49 -0800 (PST) Received: from local by pidgin.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.96.2) (envelope-from ) id 1rAxwa-0007c0-2h; Wed, 06 Dec 2023 19:52:30 +0000 Date: Wed, 6 Dec 2023 19:52:23 +0000 From: Daniel Golle To: "Russell King (Oracle)" Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chunfeng Yun , Vinod Koul , Kishon Vijay Abraham I , Felix Fietkau , John Crispin , Sean Wang , Mark Lee , Lorenzo Bianconi , Matthias Brugger , AngeloGioacchino Del Regno , Andrew Lunn , Heiner Kallweit , Alexander Couzens , Qingfang Deng , SkyLake Huang , Philipp Zabel , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-phy@lists.infradead.org Subject: Re: [RFC PATCH v2 8/8] net: ethernet: mtk_eth_soc: add paths and SerDes modes for MT7988 Message-ID: References: <3ccc33fa14310ab47e90ff8e6ce46f1562bb838e.1701826319.git.daniel@makrotopia.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Wed, Dec 06, 2023 at 06:55:50PM +0000, Russell King (Oracle) wrote: > On Wed, Dec 06, 2023 at 01:45:17AM +0000, Daniel Golle wrote: > > @@ -516,6 +538,21 @@ static struct phylink_pcs *mtk_mac_select_pcs(struct phylink_config *config, > > struct mtk_eth *eth = mac->hw; > > unsigned int sid; > > > > + if (mtk_is_netsys_v3_or_greater(eth)) { > > + switch (interface) { > > + case PHY_INTERFACE_MODE_1000BASEX: > > + case PHY_INTERFACE_MODE_2500BASEX: > > + case PHY_INTERFACE_MODE_SGMII: > > + return mtk_pcs_lynxi_select_pcs(mac->sgmii_pcs_of_node, interface); > > + case PHY_INTERFACE_MODE_5GBASER: > > + case PHY_INTERFACE_MODE_10GBASER: > > + case PHY_INTERFACE_MODE_USXGMII: > > + return mtk_usxgmii_select_pcs(mac->usxgmii_pcs_of_node, interface); > > From what I can see, neither of these two "select_pcs" methods that > you're calling makes any use of the "interface" you pass to them. > I'm not sure what they _could_ do with it either, given that what > you're effectively doing here is getting the phylink_pcs structure from > the driver, and each one only has a single phylink_pcs. Yes, you are right, the interface parameter isn't used, I will drop it from both mtk_*_select_pcs() prototypes. In the long run we may want something like struct phylink_pcs *of_pcs_get(struct device_node *np, phy_interface_t interface) provided by a to-be-built drivers/net/pcs/core.c...