RE: [EXT] Re: [PATCH net-next v2 4/4] net: mvpp2: 2500baseX support

From: Stefan Chulski
Date: Wed Jan 03 2018 - 10:51:03 EST




> -----Original Message-----
> From: Antoine Tenart [mailto:antoine.tenart@xxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, January 03, 2018 5:32 PM
> To: Andrew Lunn <andrew@xxxxxxx>
> Cc: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx>;
> davem@xxxxxxxxxxxxx; kishon@xxxxxx; gregory.clement@xxxxxxxxxxxxxxxxxx;
> linux@xxxxxxxxxxxxxxx; mw@xxxxxxxxxxxx; Stefan Chulski
> <stefanc@xxxxxxxxxxx>; Yan Markman <ymarkman@xxxxxxxxxxx>;
> thomas.petazzoni@xxxxxxxxxxxxxxxxxx; miquel.raynal@xxxxxxxxxxxxxxxxxx;
> Nadav Haklai <nadavh@xxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCH net-next v2 4/4] net: mvpp2: 2500baseX support
>
> External Email
>
> ----------------------------------------------------------------------
> 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.
>
> > At minimum there needs to be a comment that this is not a typ0,
> > otherwise you are going to get patches submitted to 'fix' this.
>
> 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).
>

Maybe we should rename enum phy_mode to comphy_mode and PHY_MODE_2500SGMII to COMPHY_MODE_2500SGMII.
Since this enum set MAC to PHY serdes communication mode, not PHY to PHY communication mode.

Stefan.