Hi, This is a follow-up on the patch series posted at Fri, 4 Nov 2016 10:55:25 +0100 (old cover letter included below).
The following is changed/added/addressed: - Support for __ethtool_get_strings()/phy_tunables is added - Using DOWNSHIFT_DEV_DISABLE define instead of '0' when disabling - If downshifting clould not be eanbled with the requested count, then a trace message with a hist is printed. - Using ERANGE as requested by Andrew. - Andrew suggested to use ENOSUPP when a tunable is not implemented We kept the EINVAL because ENOSUPP does not exists, and the existing MAC-level tunable is also using EINVAL in the same scenario. - Andrew suggested that the driver should accept a count of 1 and "just" round it up to 2 (the nearest allowed value). We discussed it a bit (Raju and I) and preferred to return EINVAL when a configuration value could not be accommodated. People which wants "help" to choose a supported value should be using the DOWNSHIFT_DEV_DEFAULT_COUNT value. - (ethtool) Syntax is changed from "--set-phy-tunable downshift on|off|%d" to "--set-phy-tunable [downshift on|off [count N]]" - as requested by Andrew. Ethtool patches will follow shortly. Please review Best regards Allan and Raju Raju Lakkaraju (5): ethtool: (uapi) Add ETHTOOL_PHY_GTUNABLE and ETHTOOL_PHY_STUNABLE ethtool: Implements ETHTOOL_PHY_GTUNABLE/ETHTOOL_PHY_STUNABLE ethtool: (uapi) Add ETHTOOL_PHY_DOWNSHIFT to PHY tunables ethtool: Core impl for ETHTOOL_PHY_DOWNSHIFT tunable net: phy: Add downshift get/set support in Microsemi PHYs driver drivers/net/phy/mscc.c | 100 +++++++++++++++++++++++++++++++++++++++++++ include/linux/phy.h | 7 +++ include/uapi/linux/ethtool.h | 18 +++++++- net/core/ethtool.c | 93 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 217 insertions(+), 1 deletion(-) -- 2.7.3 Old cover letter: > From 1a318266822f5d74c58b5219ebbdf5a6a5f567dc Mon Sep 17 00:00:00 2001 > From: "Allan W. Nielsen" <allan.niel...@microsemi.com> > Date: Fri, 4 Nov 2016 10:55:25 +0100 > Subject: [PATCH net-next 0/5] Adding PHY-Tunables and downshift support > > Hi All, > > This series add support for PHY tunables, and uses this facility to configure > downshifting. The downshifting mechanism is implemented for MSCC phys. > > This series tries to address the comments provided back in mid October when > this > feature was posted along with fast-link-failure. Fast-link-failure has been > separated out, but we would like to pick continue on that if/when we agree on > how the phy-tunables and downshifting should be done. > > The proposed generic interface is similar to > ETHTOOL_GTUNABLE/ETHTOOL_STUNABLE, > it uses the same type (ethtool_tunable/tunable_type_id) but a new enum > (phy_tunable_id) is added to reflect the PHY tunable. > > The implementation just call the newly added function pointers in > get_tunable/set_tunable phy_device structure. > > To configure downshifting, the ethtool_tunable structure is used. 'id' must be > set to 'ETHTOOL_PHY_DOWNSHIFT', 'type_id' must be set to 'ETHTOOL_TUNABLE_U8' > and 'data' value configure the amount of downshift re-tries. > > If configured to DOWNSHIFT_DEV_DISABLE, then downshift is disabled > If configured to DOWNSHIFT_DEV_DEFAULT_COUNT, then it is up to the device to > choose a device-specific re-try count. > > Patches to implement this in ethtool will follow in a few minutes.