Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp3766348iog; Tue, 28 Jun 2022 02:13:59 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uzz8YkfcGDaWnQkN6Zsus4Rv13A+bswE0Y1zC2/lsheMPkDj1tVV52yWzfq7h9amYouUpY X-Received: by 2002:a17:90a:4f0a:b0:1ec:89bd:725c with SMTP id p10-20020a17090a4f0a00b001ec89bd725cmr25888297pjh.172.1656407639357; Tue, 28 Jun 2022 02:13:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656407639; cv=none; d=google.com; s=arc-20160816; b=S5/Ybuipqm/NsaJhmkZw5ddnfPFU5R34bH2BELunHhDdLdKsK0v5AsGTgYFVCB+4bY Izj8njZAvVLNmi2xKY0baJFW8lvNcULaTJD6Jd+5SkCU/UuX390xtlTIkx1oY1ayig7W UXHlvpYScNEjQ6IPI4BQqNXAioT99eErSNwNla6qXTCENw5HlMqrtcPRPBNaDr69WaGX Ng9nzd5aFBiOnnE8TurTzueV7JjxwmUGsgNeEvriXHPjYPpWi+VgThEjftyDWID/N3Pl kLVnD2GhgO63axxkp8dJW+LGpYi9mIbYMNPykmPajVcYCsgQ14QUlNO/u/xVNYoMklQW Hwyw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=7Xjx2Yp3dRna+PG8EXrZriIGD8ZO7PzIvWzPC00BsAQ=; b=nomPShXxtMgMMaw8iD7DBvr56ItMub92PSi1S/AzarbDMYoRTJU5p5nMO6HGBfVDb0 +YPO6KkXzJNs+8oDtAeLKm0WuBmEFXXQcYLKVyy3Bxu4afaRYpMS/8EoYm++e/adjWeo mwGg5anZPHWiWckagUVzCCVjdn25NtHzTx2MZ/QpkEDxwt0in0RY5xYGKq/8eRkVo7NE +E+s+GH3qw8VXLjFdhuXsBba0w1WyXM0I9fKm66+t2SsY+G6yeaIpjiQDra5dFUhrmJK 8Hh66/q2fo8l8xEb2H13ysRUMrGFud9EOSeUwlt63be3zNlWzIegYq2kww/V6Hu6oNTC GXzQ== 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 a1-20020a656541000000b003fcb9d205ecsi16798174pgw.200.2022.06.28.02.13.46; Tue, 28 Jun 2022 02:13:59 -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 S245468AbiF1IwN (ORCPT + 99 others); Tue, 28 Jun 2022 04:52:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242062AbiF1IwJ (ORCPT ); Tue, 28 Jun 2022 04:52:09 -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 15DFF2F65D for ; Tue, 28 Jun 2022 01:52:08 -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 1o66wy-0003og-Rk; Tue, 28 Jun 2022 10:52:00 +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 1o66wu-003Aeg-J9; Tue, 28 Jun 2022 10:52:00 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1o66ww-00As6j-UX; Tue, 28 Jun 2022 10:51:58 +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 v2 1/4] net: dsa: add get_pause_stats support Date: Tue, 28 Jun 2022 10:51:52 +0200 Message-Id: <20220628085155.2591201-2-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220628085155.2591201-1-o.rempel@pengutronix.de> References: <20220628085155.2591201-1-o.rempel@pengutronix.de> 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 Reviewed-by: Vladimir Oltean --- 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 33283eeda697..ea7bf007f34f 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -895,6 +895,8 @@ struct dsa_switch_ops { const struct ethtool_rmon_hist_range **ranges); 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 760ca58307a3..ad6a6663feeb 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -1109,6 +1109,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) { @@ -2100,6 +2110,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