On 15-05-31 12:59 PM, Ben Hutchings wrote: > On Fri, 2015-05-22 at 15:43 -0700, Arun Parameswaran wrote: >> Hi, >> The patch fixes 2 issues with 'ethtool' getting/setting parametres in >> the do_gset() do_sset() API's. >> >> I have pushed a patch to the Kernel to fix an issue in the handling of >> the 'ethtool' commands which got accepted. >> This Kernel patch was based on Linux v4.1-rc4 and is available in: >> https://github.com/Broadcom/cygnus-linux/tree/net-core-ethtool-fix-v1 >> >> The Kernel was always clearing the command from the 'ethtool' resulting >> in all operations to deal with PHY0. This prevents querying/setting >> PHY 1's settings. > [...] > > Each net device can be associated with a single PHY at a time, and the > ETHTOOL_GSET implementation should fill in the PHY address in the > ethtool_cmd::phy_address field. Where there are multiple PHYs that can > be connected to the net device's MAC, an ETHTOOL_SSET operation can be > used to change that PHY address. > The above can be done by the driver when there is one PHY per MAC. In our case we have multiple PHYs controlled by the same MAC. I should have clarified this earlier, I apologize.
When we specify the 'phyad', in the command line, we were expecting the 'ethtool' to fetch/set data for that 'phyad'. This is the intend of the patch. With the patch (in 'ethtool' and Kernel), if 'phyad' is not specified, it will still function as you described above, it will be up to the driver to return the proper 'phyad' and related settings. > The ethtool API is not meant for controlling other PHYs that aren't > connected to the MAC; if you want to do that then create more net > devices for them or use the MDIO ioctls. > In the SoC, there are multiple PHYs (in our case there are 2) controlled by the same MAC. We are trying to use 'ethtool' to control both the PHYs connected to the same MAC. > > Ben. > Thanks Arun -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html