lkml.org 
[lkml]   [2018]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net-next v2 4/4] net: mvpp2: 2500baseX support
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

\
 
 \ /
  Last update: 2018-01-03 16:54    [W:0.024 / U:16.760 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site