From patchwork Mon Apr 27 13:40:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1277659 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=hlQL+Dk3; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 499mCV2Lqqz9sSk for ; Mon, 27 Apr 2020 23:41:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728150AbgD0Nlh (ORCPT ); Mon, 27 Apr 2020 09:41:37 -0400 Received: from mail-mw2nam12on2085.outbound.protection.outlook.com ([40.107.244.85]:27104 "EHLO NAM12-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728128AbgD0Nlf (ORCPT ); Mon, 27 Apr 2020 09:41:35 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IhiQsi7VNFXJ+qFx0XgmKZSdwgl5ZSzSgnCi1wWx1QeNkDTO+M+CCWp/wusKIfvHhmNnqmkgAJqMWt1rnb+9Oam21a6qv6NT/C6nGG2lLDTtFy5aD6RIKIJJZkRfMz80UkC5ACysyth0zsuJDE6m/xQguOH15C5NV3QlkBluZ0ZhlEHhdsI499eU5Pg80CAx7qw2CKwXvfrUJ8WVTY0qP9syxwItTufKSdvzin5gsyJmv9e5FZZqzNjxp1cGAr5vycM7Ofejg0eDiMN/3pNNVxx9y3NucGCQW9cL9gb0gOE73N9F34WGCh251bZZqcVHK74rdzMAFpnewEGd48tQ2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=egCdpDIyXQUcXWET33IMa8Zq84wxdpYxLexcnAsxUfc=; b=ErZpfVkDMpiK/H/E5bMXAoTwiYw0pUi16riP3C7RgCzOHYbKr3YOBsLDFfUZp2VqsQSIQ28J2yjhLDUKw85grzTx7NEp5gnIw5xyqzIUO+C//saGICGQ6QqbsroFCjYoirBFqP0sy320dGDrG3njSKw01jNIdwt9zfIYDM8P7vis7ME5EOyJj2GNLuIorQj49FJZEEhA3jN1CUSojKi045mh9dDW/xGfTyCLn/zbKlMHn0q/Gy9lGuxMP8i5+koZsnIOSCqWWSg6cajH/te0oMFYLkV40TLrC2A0dgvNhT2e3YMzWomOd7nWgLirVCFchF+P7E/WNPwKDsKtxIrdJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=egCdpDIyXQUcXWET33IMa8Zq84wxdpYxLexcnAsxUfc=; b=hlQL+Dk36+Fpyf2ITZ1sB99Ho8xFc14WFhr5ZeBnOw33xqXUaUknp2Uc4eE4vl7NV7iE/i0XJ/4hJU81LX0IqGeHjH9uTsONhEDVIdOg2+P1QaQ49uHet6Etx/3nVd6lNTWvUsTMAD5ngdjETnEjbKxF3jIxqgUUEuMXL8vkHto= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; Received: from MWHPR11MB1775.namprd11.prod.outlook.com (2603:10b6:300:10e::14) by MWHPR11MB1424.namprd11.prod.outlook.com (2603:10b6:300:26::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Mon, 27 Apr 2020 13:41:31 +0000 Received: from MWHPR11MB1775.namprd11.prod.outlook.com ([fe80::81d5:b62b:3770:ffbe]) by MWHPR11MB1775.namprd11.prod.outlook.com ([fe80::81d5:b62b:3770:ffbe%10]) with mapi id 15.20.2937.023; Mon, 27 Apr 2020 13:41:31 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 12/17] staging: wfx: show counters of all interfaces Date: Mon, 27 Apr 2020 15:40:26 +0200 Message-Id: <20200427134031.323403-13-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200427134031.323403-1-Jerome.Pouiller@silabs.com> References: <20200427134031.323403-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0232.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::28) To MWHPR11MB1775.namprd11.prod.outlook.com (2603:10b6:300:10e::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.home (2a01:e35:2435:66a0:544b:f17b:7ae8:fb7) by PR0P264CA0232.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13 via Frontend Transport; Mon, 27 Apr 2020 13:41:28 +0000 X-Mailer: git-send-email 2.26.1 X-Originating-IP: [2a01:e35:2435:66a0:544b:f17b:7ae8:fb7] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0fb43a34-fd5d-49ea-8b56-08d7eab0b181 X-MS-TrafficTypeDiagnostic: MWHPR11MB1424: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-Forefront-PRVS: 0386B406AA X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1775.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(136003)(39850400004)(376002)(346002)(396003)(366004)(8886007)(66476007)(66556008)(4326008)(81156014)(86362001)(8936002)(6486002)(52116002)(6506007)(5660300002)(16526019)(6512007)(1076003)(478600001)(8676002)(36756003)(186003)(2616005)(54906003)(107886003)(66574012)(2906002)(316002)(66946007);DIR:OUT;SFP:1101; Received-SPF: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kA7oOVJE6AEvAosobbht3i2EzKpqDC35Wh3Z9qJThFEeQpCRBb2cJElMsMR9MlM9WPkujh8l7bZrEEs/JwWt4wd9NqerwN4hJV8KY4KySstm+5heLFCxnUOM7NAQQci/wsuUJZHiHjhaXegvarjT0zVi11UX4QPYpaarpxdhhY1ipgXTgBCHdz2shGEO7MkB4XDdUb6mRSl9/CiqTHI7lUpF7axCl8w0aTy4jXqvBpmDfdax3BtiRkWJzGozOHqhiqogKpcf869WiixOrw8rd+WhmDiHA7tB6PHzHWU13FnfnUoaVAXRaVaDzkH0W8LB+AVGfuo2l5TYVDzvvz96wGYCzSSZh0/gb7VRF5bF+FzshYSJ69+OD/efSmMfRbVnQ4T/t6oGw2JBQjc1qa0yCR/a+6HHM5UiDclrRYD/iWnJ5U0nc2hZ8G0biEnLEIE0 X-MS-Exchange-AntiSpam-MessageData: +eKH2md+QPmroqBnEeLIhoXcTDFm6Go9kNUixGRJRkQ9kSApTEAXtu3puJZPapi2OpIeAvvxJvCXwdvnu87cul16mDl1slzszjKyyCd1uokcrAbSZAWzZhowrmPMNcRE+QwE0zCzFlmnQkmuEsMaEOG+99JWQcJOColz9vtxpZ6hl8HCyMa7qKqPYSeUMbrCsoReJLOhXPG6IJhdtyKqaYqsNG5xGX6VZakAbWzD0pR9U4SRR4afyDgcQRUCzhVCHU/cBBt2Iklduhkt7TzefemKaZlmW/S+s2GzW/DqFHxX379aL+murJuyqQTXu9Pv9KianEEil8aNMy1vTmHJZ/PO6G9rteN9QZH2Rxi9hPtrjBJmv8xKdKElTUHC8HEuTDr+JCZDtNEBh3RIYgaLgnHzCuDr7FtFHKSdMvCejWx73AO7Vr47ZZ+8YRdt3AVvxjJ1H7sFCkxF+Ka2HQsOw4/kk3xNaEEgzmNvYu9DAfGaXM8u6XVwcXF4M6xObDJHA9ijaNL8bWNgqroDvCU1R90PRaITeSVaudrs1RtYHGW7VD69sIKJfy0zl1unG8vJ0gKKZkrDaY3eJWuzozasc/MjevOjDXRd2//gVL9kpi3hDtxZt/4kmPbW/OGzZbVPXan/w3h2dN5zVKdf1vlYO4aUScEcIqYQkAq8dpkjERBCVF32EUSvmA86BjZl12fKgGS1wx9BAu+VJcPMpXSnVhQtGnXiWh6BMD2CTzf8a11bQfrS/IBo8eCeA/+uraKq6BX0SbjSPYzemzU/3aDbGjbCNRo7LRlOH/4nocdoDRFolGkigXxlDqzq7ZM1SvKaAXsPgf2Loqrb4jWtDAzXx6jdoWSwsgCJIHk7u8RYCA4= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0fb43a34-fd5d-49ea-8b56-08d7eab0b181 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2020 13:41:31.1124 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ibBvm+OWguMJS5T1+aVLT3zIJvO77T68PJlWJpR5ShTt1RlYptqyJlF7dZ4sGocrZZ7uwuixnr3aEfje4R7Pxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1424 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The device keep up to date three series of stats. One for each virtual interface and one for the whole device. Until to now, the stats for the whole device were unavailable. Moreover, it is interesting to retrieve counters for all interfaces even if they are not awake. Change the counters available in debugfs in order to retrieve stats from all interfaces. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/debug.c | 25 ++++++++++++++++--------- drivers/staging/wfx/hif_tx_mib.c | 6 +++--- drivers/staging/wfx/hif_tx_mib.h | 2 +- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/drivers/staging/wfx/debug.c b/drivers/staging/wfx/debug.c index 1164aba118a1..4dc4f6a0b92b 100644 --- a/drivers/staging/wfx/debug.c +++ b/drivers/staging/wfx/debug.c @@ -61,19 +61,26 @@ const char *get_reg_name(unsigned long id) static int wfx_counters_show(struct seq_file *seq, void *v) { - int ret; + int ret, i; struct wfx_dev *wdev = seq->private; - struct hif_mib_extended_count_table counters; + struct hif_mib_extended_count_table counters[3]; - ret = hif_get_counters_table(wdev, &counters); - if (ret < 0) - return ret; - if (ret > 0) - return -EIO; + for (i = 0; i < ARRAY_SIZE(counters); i++) { + ret = hif_get_counters_table(wdev, i, counters + i); + if (ret < 0) + return ret; + if (ret > 0) + return -EIO; + } + + seq_printf(seq, "%-24s %12s %12s %12s\n", + "", "global", "iface 0", "iface 1"); #define PUT_COUNTER(name) \ - seq_printf(seq, "%24s %d\n", #name ":",\ - le32_to_cpu(counters.count_##name)) + seq_printf(seq, "%-24s %12d %12d %12d\n", #name, \ + le32_to_cpu(counters[2].count_##name), \ + le32_to_cpu(counters[0].count_##name), \ + le32_to_cpu(counters[1].count_##name)) PUT_COUNTER(tx_packets); PUT_COUNTER(tx_multicast_frames); diff --git a/drivers/staging/wfx/hif_tx_mib.c b/drivers/staging/wfx/hif_tx_mib.c index 16f4908055af..6fdde5a4c9a1 100644 --- a/drivers/staging/wfx/hif_tx_mib.c +++ b/drivers/staging/wfx/hif_tx_mib.c @@ -64,16 +64,16 @@ int hif_set_rcpi_rssi_threshold(struct wfx_vif *wvif, HIF_MIB_ID_RCPI_RSSI_THRESHOLD, &arg, sizeof(arg)); } -int hif_get_counters_table(struct wfx_dev *wdev, +int hif_get_counters_table(struct wfx_dev *wdev, int vif_id, struct hif_mib_extended_count_table *arg) { if (wfx_api_older_than(wdev, 1, 3)) { // extended_count_table is wider than count_table memset(arg, 0xFF, sizeof(*arg)); - return hif_read_mib(wdev, 0, HIF_MIB_ID_COUNTERS_TABLE, + return hif_read_mib(wdev, vif_id, HIF_MIB_ID_COUNTERS_TABLE, arg, sizeof(struct hif_mib_count_table)); } else { - return hif_read_mib(wdev, 0, + return hif_read_mib(wdev, vif_id, HIF_MIB_ID_EXTENDED_COUNTERS_TABLE, arg, sizeof(struct hif_mib_extended_count_table)); } diff --git a/drivers/staging/wfx/hif_tx_mib.h b/drivers/staging/wfx/hif_tx_mib.h index bb7c104a03d8..b72770a4ba12 100644 --- a/drivers/staging/wfx/hif_tx_mib.h +++ b/drivers/staging/wfx/hif_tx_mib.h @@ -20,7 +20,7 @@ int hif_set_beacon_wakeup_period(struct wfx_vif *wvif, unsigned int listen_interval); int hif_set_rcpi_rssi_threshold(struct wfx_vif *wvif, int rssi_thold, int rssi_hyst); -int hif_get_counters_table(struct wfx_dev *wdev, +int hif_get_counters_table(struct wfx_dev *wdev, int vif_id, struct hif_mib_extended_count_table *arg); int hif_set_macaddr(struct wfx_vif *wvif, u8 *mac); int hif_set_rx_filter(struct wfx_vif *wvif,