Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1380893pxv; Fri, 16 Jul 2021 08:07:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymKOjDMtFiUfjUcy1aZ5upFTCZshyGeVHqHdtRcfpye6r5mhHDjRNyMHn5LMRvTuqvsXMy X-Received: by 2002:aa7:c04e:: with SMTP id k14mr15022082edo.157.1626448041813; Fri, 16 Jul 2021 08:07:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626448041; cv=none; d=google.com; s=arc-20160816; b=mzEBohWMRcMkQ9JqR46mv9jsgZ4B31uAVz2OdhiijRNp922Yhxq20yFm3oxBylaNJJ xZO5nXd5W6Cks29+uowIFpTU11aroHvSbUnJqkQFW2EfWnA/Lklbs8UjtzK3Tuz5q6hQ 9CbPmVwv3n6tlWhyqN8XNP4aD5AtDSM1aKeo6s+Sii2Pv+uOWnhuIT+5QdY87RlcvcAz aRwY7ZXPcIgPwKWRLRPHKvSEkBaKYtiimemaG9muA4p3cclBHDHlM2zQjJVKa9kvo9HK 6fT3mnjr72CGhWe/jPTYsp7gyDxGHV9dHJ/y5HPhlEzyAsgBPUaoE/u2kx7tOiSvgIcm iYoA== 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 :dkim-signature; bh=Beb9psAioVw37TgUKpnrpn6tpdv80a+7FGxL+0wSmFU=; b=JZQ2JZaTJaS+g9Yz3sebYo9gkhZ/DXIEAz3rD9NSmJQj1dNM1MY2lhZVG9sxIZNUZR OzpBSqiffcON603o1yjKNnhDtwYTXR3/9iAnrx5hBNJAHRJBcvSAGhBpC48IQaeiHpLk /+GLBxudnCnukxRxiw2oubJ7rEma+KexqIocWKsYwqMGJFUTPxq06ekjOrZMdXwCEVN+ 11tTh6ktnFKZxi+9LE7/JEY/44mhuS7p2BqAHwgIINUdMpOAt/wNvTQZ52z+ahdgbvRe Kp5Rw82uNyqzryVzHZkHFzVqK3rxg1igKOpHJry2VIo6Zczk3YiGjAgEJQfX6mmDqv6s 68Fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Z/1m7cy9"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 5si10890766ejh.535.2021.07.16.08.06.41; Fri, 16 Jul 2021 08:07:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Z/1m7cy9"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240679AbhGPPHn (ORCPT + 99 others); Fri, 16 Jul 2021 11:07:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:46766 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240693AbhGPPHk (ORCPT ); Fri, 16 Jul 2021 11:07:40 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 904EF60FF3; Fri, 16 Jul 2021 15:04:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1626447885; bh=1R+eoZXo/tV2qP8G6uWnQYKp77VeuWQ7hqp7ZJ54BPM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z/1m7cy92JMOQZ+Mgo5xBtnHW3eVnjSQewEPNSqeq1TsXcOxcmyHLpKsjZSv7g3F5 kPO9GPgc+pPk8kgXzBCVkWdtpcda34VsP1lCy7XZrzVp35/QCIQso/lhE9wuWToDKD DnWXFuehv81Mbp2myHthuSd5v9j0k1V/HlgOo986vEkNf8+18+vBOiu481lqSZpXm9 QrwlAp4M1E09MTXK9ByyhMKfiqhwJFkhJQPdVtTHZQUZQL3q96iTMcrRAkpk2m4+hm dhGyXdjFbLu1DLm0WDpfjrbv6/99EH4XL0VRB41HqqCV/bjMFkFfCO+Mbam1ySegmt sv+s8HUkBclyw== From: Lorenzo Bianconi To: linux-wireless@vger.kernel.org Cc: johannes@sipsolutions.net, nbd@nbd.name, ryder.lee@mediatek.com, lorenzo.bianconi@redhat.com Subject: [RFC mac80211-next 7/7] mt76: mt7915: add twt_stats knob in debugfs Date: Fri, 16 Jul 2021 17:04:06 +0200 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Introduce twt_stats knob in debugfs in order to dump established agreements Signed-off-by: Lorenzo Bianconi --- .../wireless/mediatek/mt76/mt7915/debugfs.c | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c index 1a48b09d0cb7..5ed329f720d6 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +++ b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c @@ -335,6 +335,32 @@ mt7915_read_rate_txpower(struct seq_file *s, void *data) return 0; } +static int +mt7915_twt_stats(struct seq_file *s, void *data) +{ + struct mt7915_dev *dev = dev_get_drvdata(s->private); + struct mt7915_twt_flow *iter; + + rcu_read_lock(); + + seq_puts(s, " wcid | id | flags | exp | mantissa"); + seq_puts(s, " | duration | tsf |\n"); + list_for_each_entry_rcu(iter, &dev->twt_list, list) + seq_printf(s, + "%9d | %8d | %5c%c%c%c | %8d | %8d | %8d | %14lld |\n", + iter->wcid, iter->id, + iter->sched ? 's' : 'u', + iter->protection ? 'p' : '-', + iter->trigger ? 't' : '-', + iter->flowtype ? '-' : 'a', + iter->exp, iter->mantissa, + iter->duration, iter->tsf); + + rcu_read_lock(); + + return 0; +} + int mt7915_init_debugfs(struct mt7915_dev *dev) { struct dentry *dir; @@ -352,6 +378,8 @@ int mt7915_init_debugfs(struct mt7915_dev *dev) debugfs_create_file("implicit_txbf", 0600, dir, dev, &fops_implicit_txbf); debugfs_create_u32("dfs_hw_pattern", 0400, dir, &dev->hw_pattern); + debugfs_create_devm_seqfile(dev->mt76.dev, "twt_stats", dir, + mt7915_twt_stats); /* test knobs */ debugfs_create_file("radar_trigger", 0200, dir, dev, &fops_radar_trigger); -- 2.31.1