> -----Original Message-----
> From: Florian Fainelli [mailto:f.faine...@gmail.com]
> Sent: Friday, July 24, 2015 12:39 PM
> To: shh....@gmail.com; netdev@vger.kernel.org; da...@davemloft.net
> Cc: Xie Shaohui-B21989
> Subject: Re: [PATCH] phylib: add driver for aquantia phy
> 
> Le 07/23/15 20:46, shh....@gmail.com a écrit :
> > From: Shaohui Xie <shaohui....@freescale.com>
> >
> > This patch added driver to support Aquantia PHYs AQ1202, AQ2104,
> > AQR105, AQR405, which accessed through clause 45.
> 
> Could you prefix your patches with "net: phy: " in the future to be
> consistent with what is typically used?
[S.H] OK.

> 
> See comments below
> 
> >
> > Signed-off-by: Shaohui Xie <shaohui....@freescale.com>
> > ---
> 
> [snip]
> 
> > +static int aquantia_read_status(struct phy_device *phydev) {
> > +   int reg;
> > +
> > +   phydev->speed = SPEED_10000;
> > +   phydev->duplex = DUPLEX_FULL;
> > +
> > +   reg = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_STAT1);
> > +   reg = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_STAT1);
> > +   if (reg & MDIO_STAT1_LSTATUS)
> > +           phydev->link = 1;
> > +   else
> > +           phydev->link = 0;
> > +
> > +   reg = phy_read_mmd(phydev, MDIO_MMD_AN, 0xc800);
> > +   mdelay(10);
> > +   reg = phy_read_mmd(phydev, MDIO_MMD_AN, 0xc800);
> > +   if (reg == 0x9)
> > +           phydev->speed = SPEED_2500;
> > +   else if (reg == 0x5)
> > +           phydev->speed = SPEED_1000;
> > +   else if (reg == 0x3)
> > +           phydev->speed = SPEED_100;
> 
> Could we use a switch/case here? 
[S.H] OK.

How about 10Mbits/sec and duplex are we
> guaranteed to be full-duplex at e.g: 100 or 10Mbits/sec?
[S.H] The PHY does not support 10M bits/sec. 
When link to 100M. the phy is full-duplex.

> 
> > +
> > +   return 0;
> > +}
> > +
> > +static struct phy_driver aquantia_driver[] = { {
> > +   .phy_id         = PHY_ID_AQ1202,
> > +   .phy_id_mask    = 0xfffffff0,
> > +   .name           = "Aquantia AQ1202",
> > +   .features       = PHY_GBIT_FEATURES,
> 
> If these are 10GbE PHYs, should not we start defining a new features
> bitmask here to reflect that accordingly? That way MAC
[S.H] there are several defines for 10G PHYs, should be used by a given 10G 
PHY. 

for this Aquantia PHY, SUPPORTED_10000baseT_Full is a valid define, should I 
set it as below:
.features       = PHY_GBIT_FEATURES | SUPPORTED_10000baseT_Full,

Or handle the SUPPORTED_10000baseT_Full separately?

Thanks for reviewing!
Shaohui

Reply via email to