From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752620AbeACPxW (ORCPT + 1 other); Wed, 3 Jan 2018 10:53:22 -0500 Received: from vps0.lunn.ch ([185.16.172.187]:52734 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751833AbeACPxU (ORCPT ); Wed, 3 Jan 2018 10:53:20 -0500 Date: Wed, 3 Jan 2018 16:53:11 +0100 From: Andrew Lunn To: Antoine Tenart Cc: davem@davemloft.net, kishon@ti.com, gregory.clement@free-electrons.com, linux@armlinux.org.uk, mw@semihalf.com, stefanc@marvell.com, ymarkman@marvell.com, thomas.petazzoni@free-electrons.com, miquel.raynal@free-electrons.com, nadavh@marvell.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net-next v2 4/4] net: mvpp2: 2500baseX support Message-ID: <20180103155311.GD3401@lunn.ch> References: <20180103150750.12974-1-antoine.tenart@free-electrons.com> <20180103150750.12974-5-antoine.tenart@free-electrons.com> <20180103152036.GC3401@lunn.ch> <20180103153227.GA9227@kwain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180103153227.GA9227@kwain> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Wed, Jan 03, 2018 at 04:32:27PM +0100, Antoine Tenart wrote: > Hi Andrew, > > On Wed, Jan 03, 2018 at 04:20:36PM +0100, Andrew Lunn wrote: > > > @@ -4612,6 +4616,9 @@ static int mvpp22_comphy_init(struct mvpp2_port *port) > > > case PHY_INTERFACE_MODE_1000BASEX: > > > mode = PHY_MODE_SGMII; > > > break; > > > + case PHY_INTERFACE_MODE_2500BASEX: > > > + mode = PHY_MODE_2500SGMII; > > > + break; > > > > I think this is the source of confusion with linux/phy.h and > > linux/phy/phy.h. > > > > What would PHY_INTERFACE_MODE_2500SGMII use? > > > > Where is this all getting confused? Should the caller to > > mvpp22_comphy_init() actually be passing PHY_INTERFACE_MODE_2500SGMII? > > What is the MAC actually doing at this point? 2500BASEX or 2500SGMII? > > PHY_INTERFACE_MODE_2500BASEX is the PHY mode whereas PHY_MODE_2500SGMII > is the mode used by the common PHY driver (i.e. the one configuring the > serdes lanes). > There's no PHY_INTERFACE_MODE_2500SGMII mode. Hi Antoine At the moment there is no PHY_INTERFACE_MODE_2500SGMII. However, there are some devices which can do 2.5G SGMII. So it will appear sometime. This piece of code then looks even stranger. > Sure, I can add a comment to state this function is a translation > between the net PHY mode and the generic PHY mode (it's a n-to-1 > translation). I think from an API design point of view, passing PHY_MODE_2500BASEX to comphy makes more sense. That is what the MAC wants to do. How the comphy achieves that should be internal to the comphy. Andrew