Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp416856iog; Fri, 24 Jun 2022 06:37:20 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u/WUeCN8ZzEI0M6br6mQt1oMuy5TIMBePtnK2a/cZPpaKOTWVXxdVn4faEraGgFPOom/yu X-Received: by 2002:a17:906:58c8:b0:6fe:91d5:18d2 with SMTP id e8-20020a17090658c800b006fe91d518d2mr13270207ejs.190.1656077840177; Fri, 24 Jun 2022 06:37:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656077840; cv=none; d=google.com; s=arc-20160816; b=V56nKc3JeB2OUhaqPi9ykXrXtj8D2n/g6cdpXzChAnVB/svjV9ZDh1fjYTQ09HSZlC fY77zlCaVt2ckfyiVmojN88mY3cS93lP8tYrfuTb2PSn43ud61yjWY1eixDS5BnVzKw1 II7UKiI+c5bh0xHB2j4cr+RcMFgp/jZ+Hle3HYGLD+aceou0MP7HNHiLUqgi2m0Fv0bt Ei2o2tF9TISLCam5EmLyRAcaBnQH8rix7hy9AkwHzR0TNLHdz4kHaKXjUo9BntL4xp0J Gi9j28WgIQZ4rCbyFruoCy7zQbPlZhtB+gErj1b3iNexyuyEpXTZLowaNfCjhmCB33IB 2HuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=/yomUFR5vpjChUZEUPsl99TJTmIBCjUWplnFO0Tv/To=; b=uZVWzFq+gf9hdT6mK80lHoNq92sooBqwLolJiaskrICs1DNCShMNKgWNJHETHP+I7t a7XCGRQiOJcaqEeU5ptuASSr89sPnJqcuavH9ygvSmQjtPEjtW6DSzgBtbtEGBssNjqI veJBUtBC9DnP5JpXR6oALhccis/zAWdQRntoXbfyHAXPBHkPdlVAqlkR+lVVcfmywNl2 H6Vxoq8ucnbAAS4vNEgqIrw6zlhR1PYEuMOov3K6YD5SlwoVIrj7lCIqnlg2agPbLP/Y +sj81LRgeZxFTKwYD/i3BSSo2CpaGz0Yr4oSkNiw2PGhg+TRZOW9t7Cr3qrNmwi6rEz/ 7eKw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q15-20020a056402518f00b0042bd9d36e02si3832125edd.584.2022.06.24.06.36.55; Fri, 24 Jun 2022 06:37:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232064AbiFXM7W (ORCPT + 99 others); Fri, 24 Jun 2022 08:59:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232021AbiFXM7Q (ORCPT ); Fri, 24 Jun 2022 08:59:16 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D9B152525 for ; Fri, 24 Jun 2022 05:59:14 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o4itu-00076I-Du; Fri, 24 Jun 2022 14:59:06 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1o4itr-002Qlj-07; Fri, 24 Jun 2022 14:59:04 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1o4itr-00H4PX-Lw; Fri, 24 Jun 2022 14:59:03 +0200 From: Oleksij Rempel To: Woojung Huh , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Lukas Wunner , UNGLinuxDriver@microchip.com Subject: [PATCH net-next v1 1/3] net: dsa: add get_pause_stats support Date: Fri, 24 Jun 2022 14:59:00 +0200 Message-Id: <20220624125902.4068436-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add support for pause stats Signed-off-by: Oleksij Rempel --- include/net/dsa.h | 2 ++ net/dsa/slave.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/include/net/dsa.h b/include/net/dsa.h index 14f07275852b..c8d7696cb2bf 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -890,6 +890,8 @@ struct dsa_switch_ops { struct ethtool_eth_ctrl_stats *ctrl_stats); void (*get_stats64)(struct dsa_switch *ds, int port, struct rtnl_link_stats64 *s); + void (*get_pause_stats)(struct dsa_switch *ds, int port, + struct ethtool_pause_stats *pause_stats); void (*self_test)(struct dsa_switch *ds, int port, struct ethtool_test *etest, u64 *data); diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 2e1ac638d135..b2710ee46644 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -1097,6 +1097,16 @@ static int dsa_slave_set_link_ksettings(struct net_device *dev, return phylink_ethtool_ksettings_set(dp->pl, cmd); } +static void dsa_slave_get_pause_stats(struct net_device *dev, + struct ethtool_pause_stats *pause_stats) +{ + struct dsa_port *dp = dsa_slave_to_port(dev); + struct dsa_switch *ds = dp->ds; + + if (ds->ops->get_pause_stats) + ds->ops->get_pause_stats(ds, dp->index, pause_stats); +} + static void dsa_slave_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *pause) { @@ -2087,6 +2097,7 @@ static const struct ethtool_ops dsa_slave_ethtool_ops = { .get_eee = dsa_slave_get_eee, .get_link_ksettings = dsa_slave_get_link_ksettings, .set_link_ksettings = dsa_slave_set_link_ksettings, + .get_pause_stats = dsa_slave_get_pause_stats, .get_pauseparam = dsa_slave_get_pauseparam, .set_pauseparam = dsa_slave_set_pauseparam, .get_rxnfc = dsa_slave_get_rxnfc, -- 2.30.2