Re: [PATCH 5/6] net: stmmac: add mdio clause 45 access from mac device for dwmac4

From: Andrew Lunn
Date: Sun Apr 28 2019 - 12:37:48 EST


On Sun, Apr 28, 2019 at 02:30:08PM +0800, Biao Huang wrote:
> +static int stmmac_c45_read(struct mii_bus *bus, int phyaddr,
> + int devad, int prtad)
> +{
> + struct net_device *ndev = bus->priv;
> + struct stmmac_priv *priv = netdev_priv(ndev);
> + unsigned int mii_address = priv->hw->mii.addr;
> + unsigned int mii_data = priv->hw->mii.data;
> + u32 v, value;
> + int data;
> +
> + if (readl_poll_timeout(priv->ioaddr + mii_address, v, !(v & MII_BUSY),
> + 100, 10000))
> + return -EBUSY;

Hi Biao

readl_poll_timeout() returns an error code. It is better to return
that, than make up some other error code. Yes, i know the C22 read
returns EBUSY, but we don't need to copy that behaviour into C45.

> +
> + value = 0;
> + value |= (prtad << priv->hw->mii.cl45_reg_shift)
> + & priv->hw->mii.cl45_reg_mask;
> + writel(value, priv->ioaddr + mii_data);
> +
> + /* delay 2ms to avoid error value of get_phy_c45_devs_in_pkg */
> + mdelay(2);

Please could you explain this a bit more?

Andrew