From: David S. Miller Date: Fri, 18 Nov 2016 17:12:15 +0000 (-0500) Subject: Merge branch 'ethtool-phy-downshift' X-Git-Tag: v4.10-rc1~202^2~230 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=d3c19c0a72b7e1affce86a4eaa634af0c72fce61;p=linux.git Merge branch 'ethtool-phy-downshift' Allan W. Nielsen says: ==================== Adding PHY-Tunables and downshift support (This is a re-post of the v3 patch set with a new cover letter - I was not aware that the cover letters was used a commit comments in merge commits). 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. Tested on Beaglebone Black with VSC 8531 PHY. Change set: v0: - Link Speed downshift and Fast Link failure-2 features coded by using Device tree. v1: - Split the Downshift and FLF2 features in different set of patches. - Removed DT access and implemented IOCTL access suggested by Andrew. - Added function pointers in get_tunable/set_tunable phy_device structure v2: - Added trace message with a hist is printed when downshifting clould not be eanbled with the requested count - (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. v3: - Fixed Spelling in "net: phy: Add downshift get/set support in Microsemi PHYs driver" ==================== Signed-off-by: David S. Miller --- d3c19c0a72b7e1affce86a4eaa634af0c72fce61