Re: [net-next] net: ethernet: rtsn: Add support for Renesas Ethernet-TSN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > > +static int rtsn_mii_register(struct rtsn_private *priv)
> > > +{
> > > +	struct platform_device *pdev = priv->pdev;
> > > +	struct device *dev = &pdev->dev;
> > > +	struct device_node *mdio_node;
> > > +	struct mii_bus *mii;
> > > +	int ret;
> > > +
> > > +	mii = mdiobus_alloc();
> > > +	if (!mii)
> > > +		return -ENOMEM;
> > > +
> > > +	mdio_node = of_get_child_by_name(dev->of_node, "mdio");
> > > +	if (!mdio_node) {
> > > +		ret = -ENODEV;
> > > +		goto out_free_bus;
> > > +	};
> > > +
> > > +	mii->name = "rtsn_mii";
> > > +	sprintf(mii->id, "%s-%x", pdev->name, pdev->id);
> > > +	mii->priv = priv;
> > > +	mii->read = rtsn_mii_read;
> > > +	mii->write = rtsn_mii_write;
> > > +	mii->read_c45 = rtsn_mii_read_c45;
> > > +	mii->write_c45 = rtsn_mii_write_c45;
> > 
> > Just leave these two empty, and the core will do C45 over C22 for you.
> 
> Does this not require the bus to be created/allocated with an 
> implementation that support this, for example mdio_i2c_alloc() or 
> alloc_mdio_bitbang()?  This bus is allocated with mdiobus_alloc() which 
> do not implement this. Removing the C45 functions here result in 
> __mdiobus_c45_read() returning -EOPNOTSUPP as bus->read_c45 is not set.

phy_read_mmd():
  __phy_read_mmd():
      mmd_phy_read():

So is is_c45 is true?

I would expect it to be false, so that it then uses

	mmd_phy_indirect(bus, phy_addr, devad, regnum);
	/* Write the data into MMD's selected register */
	return __mdiobus_write(bus, phy_addr, MII_MMD_DATA, val);

which is C45 over C22.

If is_c45 is true, what is setting it true?

      Andrew




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux