From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: [PATCH net-next 0/8] net: Extend availability of PHY statistics Date: Wed, 25 Apr 2018 12:12:46 -0700 Message-ID: <20180425191254.3467-1-f.fainelli@gmail.com> Cc: Florian Fainelli , andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, cphealy@gmail.com, davem@davemloft.net, nikita.yoush@cogentembedded.com To: netdev@vger.kernel.org Return-path: Received: from mail-pg0-f67.google.com ([74.125.83.67]:33722 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751093AbeDYTPt (ORCPT ); Wed, 25 Apr 2018 15:15:49 -0400 Received: by mail-pg0-f67.google.com with SMTP id i194so14003895pgd.0 for ; Wed, 25 Apr 2018 12:15:48 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Hi all, This patch series adds support for retrieving PHY statistics with DSA switches when the CPU port uses a PHY to PHY connection (as opposed to MAC to MAC). To get there a number of things are done: - first we move the code dealing with PHY statistics outside of net/core/ethtool.c and create helper functions since the same code will be reused - then we allow network device drivers to provide an ethtool_get_phy_stats callback when the standard PHY library helpers are not suitable - we update the DSA functions dealing with ethtool operations to get passed a stringset instead of assuming ETH_SS_STATS like they currently do - then we provide a set of standard helpers within DSA as a framework and add the plumbing to allow retrieving the PHY statistics of the CPU port(s) - finally plug support for retrieving such PHY statistics with the b53 driver Changes in v3: - retrict the b53 change to 539x and 531x5 series of switches - added a change to dsa_loop.c to help test the feature Changes in v2: - got actual testing when the DSA master network device has a PHY that already provides statistics (thanks Nikita!) - fixed the kbuild error reported when CONFIG_PHYLIB=n - removed the checking of ops which is redundant and not needed Florian Fainelli (8): net: Move PHY statistics code into PHY library helpers net: Allow network devices to have PHY statistics net: dsa: Do not check for ethtool_ops validity net: dsa: Pass stringset to ethtool operations net: dsa: Add helper function to obtain PHY device of a given port net: dsa: Allow providing PHY statistics from CPU port net: dsa: b53: Add support for reading PHY statistics net: dsa: loop: Hook PHY statistics drivers/net/dsa/b53/b53_common.c | 81 +++++++++++++++++++++++++++--- drivers/net/dsa/b53/b53_priv.h | 6 ++- drivers/net/dsa/bcm_sf2.c | 1 + drivers/net/dsa/dsa_loop.c | 12 ++++- drivers/net/dsa/lan9303-core.c | 11 ++++- drivers/net/dsa/microchip/ksz_common.c | 11 ++++- drivers/net/dsa/mt7530.c | 11 ++++- drivers/net/dsa/mv88e6xxx/chip.c | 10 +++- drivers/net/dsa/qca8k.c | 10 +++- drivers/net/phy/phy.c | 48 ++++++++++++++++++ include/linux/ethtool.h | 5 ++ include/linux/phy.h | 20 ++++++++ include/net/dsa.h | 12 ++++- net/core/ethtool.c | 61 ++++++++--------------- net/dsa/master.c | 62 +++++++++++++++++++---- net/dsa/port.c | 90 +++++++++++++++++++++++++++++----- net/dsa/slave.c | 5 +- 17 files changed, 369 insertions(+), 87 deletions(-) -- 2.14.1