> Introduce twt_stats knob in debugfs in order to dump established > agreements > > Tested-by: Peter Chiu <chui-hao.chiu@xxxxxxxxxxxx> > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> > --- > .../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(); ops, there is a typo here, I will fix it in v2. I will wait for some feedbacks on v1 first. Regards, Lorenzo > + > + 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 >
Attachment:
signature.asc
Description: PGP signature