introduce a dedicated mt7915 debugfs sub-dir for ext-phy
Subsystems (2)
Lorenzo Bianconi
maintainercover introduce a dedicated mt7915 debugfs sub-dir for ext-phy
Introduce a dedicated mt76 debugfs sub-dir for ext-phy in dbdc mode for mt7915 driver. This is a preliminary series to add zero-wait dfs support.
Lorenzo Bianconi (2):
mt76: rely on phy pointer in mt76_register_debugfs_fops routine
signature
mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy
drivers/net/wireless/mediatek/mt76/debugfs.c | 5 +- drivers/net/wireless/mediatek/mt76/mt76.h | 4 +- .../wireless/mediatek/mt76/mt7615/debugfs.c | 2 +- .../wireless/mediatek/mt76/mt7915/debugfs.c | 63 ++++++++++--------- .../net/wireless/mediatek/mt76/mt7915/init.c | 6 +- .../wireless/mediatek/mt76/mt7915/mt7915.h | 2 +- .../wireless/mediatek/mt76/mt7921/debugfs.c | 2 +- 7 files changed, 45 insertions(+), 39 deletions(-)
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 1/2 mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature
This is a preliminary patch to create a mt76 debugfs subir for ext-phy.
--- drivers/net/wireless/mediatek/mt76/debugfs.c | 5 +++-- drivers/net/wireless/mediatek/mt76/mt76.h | 4 ++-- drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c | 2 +- drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-)
drivers/net/wireless/mediatek/mt76/debugfs.c +3 -2
@@ -117,13 +117,14 @@ static int mt76_read_rate_txpower(struct seq_file *s, void *data) }struct dentry * -mt76_register_debugfs_fops (struct mt76_dev *dev, +mt76_register_debugfs_fops (struct mt76_phy *phy,const struct file_operations *ops) {const struct file_operations *fops = ops ? ops : &fops_regval; +struct mt76_dev *dev = phy->dev;struct dentry *dir; - dir =debugfs_create_dir ("mt76" , dev->hw->wiphy->debugfsdir); + dir =debugfs_create_dir ("mt76" , phy->hw->wiphy->debugfsdir);if (!dir)return NULL ;
drivers/net/wireless/mediatek/mt76/mt76.h +2 -2
@@ -887,11 +887,11 @@ struct mt76_phy *mt76_alloc_phy(struct mt76_dev *dev, unsigned int size,int mt76_register_phy (struct mt76_phy *phy,bool vht,struct ieee80211_rate *rates,int n_rates); -struct dentry *mt76_register_debugfs_fops (struct mt76_dev *dev, +struct dentry *mt76_register_debugfs_fops (struct mt76_phy *phy,const struct file_operations *ops);static inline struct dentry *mt76_register_debugfs (struct mt76_dev *dev) { -return mt76_register_debugfs_fops (dev,NULL ); +return mt76_register_debugfs_fops (&dev->phy,NULL ); }int mt76_queues_read (struct seq_file *s,void *data);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c +1 -1
@@ -533,7 +533,7 @@ int mt7615_init_debugfs(struct mt7615_dev *dev) {struct dentry *dir; - dir =mt76_register_debugfs_fops (&dev->mt76, &fops_regval); + dir =mt76_register_debugfs_fops (&dev->mphy, &fops_regval);if (!dir)return -ENOMEM ;
drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c +1 -1
@@ -417,7 +417,7 @@ int mt7921_init_debugfs(struct mt7921_dev *dev) {struct dentry *dir; - dir =mt76_register_debugfs_fops (&dev->mt76, &fops_regval); + dir =mt76_register_debugfs_fops (&dev->mphy, &fops_regval);if (!dir)return -ENOMEM ;
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 2/2 mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy
In reply to Lorenzo BianconiIntroduce a dedicated mt76 debugfs sub-dir for ext-phy in dbdc mode.
--- .../wireless/mediatek/mt76/mt7915/debugfs.c | 63 ++++++++++--------- .../net/wireless/mediatek/mt76/mt7915/init.c | 6 +- .../wireless/mediatek/mt76/mt7915/mt7915.h | 2 +- 3 files changed, 38 insertions(+), 33 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +32 -31
@@ -113,7 +113,7 @@ static void mt7915_ampdu_stat_read_phy(struct mt7915_phy *phy, struct seq_file *file) { - struct mt7915_dev *dev = file->private; + struct mt7915_dev *dev = phy->dev;bool ext_phy = phy != &dev->phy;int bound[15 ], range[4 ], i, n;
@@ -146,7 +146,7 @@ mt7915_ampdu_stat_read_phy(struct mt7915_phy *phy,static void mt7915_txbf_stat_read_phy (struct mt7915_phy *phy,struct seq_file *s) { -struct mt7915_dev *dev = s->private; +struct mt7915_dev *dev = phy->dev;bool ext_phy = phy != &dev->phy;static const char *const bw[] = {"BW20" ,"BW40" ,"BW80" ,"BW160"
@@ -203,14 +203,12 @@ mt7915_txbf_stat_read_phy(struct mt7915_phy *phy, struct seq_file *s)static int mt7915_tx_stats_show (struct seq_file *file,void *data) { -struct mt7915_dev *dev = file->private; +struct mt7915_phy *phy = file->private; +struct mt7915_dev *dev = phy->dev;int stat[8 ], i, n; -mt7915_ampdu_stat_read_phy (&dev->phy, file); -mt7915_txbf_stat_read_phy (&dev->phy, file); - -mt7915_ampdu_stat_read_phy (mt7915_ext_phy (dev), file); -mt7915_txbf_stat_read_phy (mt7915_ext_phy (dev), file); +mt7915_ampdu_stat_read_phy (phy, file); +mt7915_txbf_stat_read_phy (phy, file);/* Tx amsdu info */ seq_puts (file,"Tx MSDU statistics:\n" );
@@ -262,18 +260,15 @@ mt7915_queues_acq(struct seq_file *s, void *data) }static int -mt7915_queues_read (struct seq_file *s,void *data) +mt7915_queues_show (struct seq_file *file,void *data) { -struct mt7915_dev *dev =dev_get_drvdata (s->private); -struct mt76_phy *mphy_ext = dev->mt76.phy2; -struct mt76_queue *ext_q = mphy_ext ? mphy_ext->q_tx[MT_TXQ_BE ] :NULL ; +struct mt7915_phy *phy = file->private; +struct mt7915_dev *dev = phy->dev;struct {struct mt76_queue *q;char *queue; } queue_map[] = { - { dev->mphy.q_tx[MT_TXQ_BE ],"WFDMA0" }, - { ext_q,"WFDMA1" }, - { dev->mphy.q_tx[MT_TXQ_BE ],"WFDMA0" }, + { phy->mt76->q_tx[MT_TXQ_BE ],"WFDMA" }, { dev->mt76.q_mcu[MT_MCUQ_WM ],"MCUWM" }, { dev->mt76.q_mcu[MT_MCUQ_WA ],"MCUWA" }, { dev->mt76.q_mcu[MT_MCUQ_FWDL ],"MCUFWQ" },
@@ -286,7 +281,7 @@ mt7915_queues_read(struct seq_file *s, void *data)if (!q)continue ; -seq_printf (s, +seq_printf (file,"%s: queued=%d head=%d tail=%d\n" , queue_map[i].queue, q->queued, q->head, q->tail);
@@ -295,6 +290,8 @@ mt7915_queues_read(struct seq_file *s, void *data)return 0 ; } +DEFINE_SHOW_ATTRIBUTE (mt7915_queues); +static void mt7915_puts_rate_txpower (struct seq_file *s,struct mt7915_phy *phy) {
@@ -325,39 +322,43 @@ mt7915_puts_rate_txpower(struct seq_file *s, struct mt7915_phy *phy) }static int -mt7915_read_rate_txpower (struct seq_file *s,void *data) +mt7915_rate_txpower_show (struct seq_file *file,void *data) { -struct mt7915_dev *dev =dev_get_drvdata (s->private); +struct mt7915_phy *phy = file->private; -mt7915_puts_rate_txpower (s, &dev->phy); -mt7915_puts_rate_txpower (s,mt7915_ext_phy (dev)); +mt7915_puts_rate_txpower (file, phy);return 0 ; } -int mt7915_init_debugfs (struct mt7915_dev *dev) +DEFINE_SHOW_ATTRIBUTE (mt7915_rate_txpower); + +int mt7915_init_debugfs (struct mt7915_phy *phy) { +struct mt7915_dev *dev = phy->dev; +bool ext_phy = phy != &dev->phy;struct dentry *dir; - dir =mt76_register_debugfs (&dev->mt76); + dir =mt76_register_debugfs_fops (phy->mt76,NULL );if (!dir)return -ENOMEM ; -debugfs_create_devm_seqfile (dev->mt76.dev,"queues" , dir, - mt7915_queues_read); +debugfs_create_file ("xmit-queues" ,0400 , dir, phy, &mt7915_queues_fops);debugfs_create_devm_seqfile (dev->mt76.dev,"acq" , dir, mt7915_queues_acq); -debugfs_create_file ("tx_stats" ,0400 , dir, dev, &mt7915_tx_stats_fops); +debugfs_create_file ("tx_stats" ,0400 , dir, phy, &mt7915_tx_stats_fops);debugfs_create_file ("fw_debug" ,0600 , dir, dev, &fops_fw_debug);debugfs_create_file ("implicit_txbf" ,0600 , dir, dev, &fops_implicit_txbf); -debugfs_create_u32 ("dfs_hw_pattern" ,0400 , dir, &dev->hw_pattern); -/* test knobs */ -debugfs_create_file ("radar_trigger" ,0200 , dir, dev, - &fops_radar_trigger); +debugfs_create_file ("txpower_sku" ,0400 , dir, phy, + &mt7915_rate_txpower_fops); +if (!dev->dbdc_support || ext_phy) { +debugfs_create_u32 ("dfs_hw_pattern" ,0400 , dir, + &dev->hw_pattern); +debugfs_create_file ("radar_trigger" ,0200 , dir, dev, + &fops_radar_trigger); + }debugfs_create_file ("ser_trigger" ,0200 , dir, dev, &fops_ser_trigger); -debugfs_create_devm_seqfile (dev->mt76.dev,"txpower_sku" , dir, - mt7915_read_rate_txpower);return 0 ; }
drivers/net/wireless/mediatek/mt76/mt7915/init.c +5 -1
@@ -407,6 +407,10 @@ static int mt7915_register_ext_phy(struct mt7915_dev *dev)if (ret) goto error; + ret =mt7915_init_debugfs (phy); +if (ret) + goto error; +return 0 ; error:
@@ -862,7 +866,7 @@ int mt7915_register_device(struct mt7915_dev *dev)if (ret)return ret; -return mt7915_init_debugfs (dev); +return mt7915_init_debugfs (&dev->phy); }void mt7915_unregister_device (struct mt7915_dev *dev)
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h +1 -1
@@ -414,7 +414,7 @@ int mt7915_dfs_init_radar_detector(struct mt7915_phy *phy);void mt7915_set_stream_he_caps (struct mt7915_phy *phy);void mt7915_set_stream_vht_txbf_caps (struct mt7915_phy *phy);void mt7915_update_channel (struct mt76_phy *mphy); -int mt7915_init_debugfs (struct mt7915_dev *dev); +int mt7915_init_debugfs (struct mt7915_phy *phy);#ifdef CONFIG_MAC80211_DEBUGFS void mt7915_sta_add_debugfs (struct ieee80211_hw *hw,struct ieee80211_vif *vif,struct ieee80211_sta *sta,struct dentry *dir);
Signature · 1 line
2.31.1
Quoted 7 lines
Introduce a dedicated mt76 debugfs sub-dir for ext-phy in dbdc mode for mt7915 driver. This is a preliminary series to add zero-wait dfs support.
Lorenzo Bianconi (2):
mt76: rely on phy pointer inmt76_register_debugfs_fopsroutine
signature
mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy
I will repost this series since it does not apply on the new mt76 tree.
Regards,
Lorenzo
Quoted 13 lines
drivers/net/wireless/mediatek/mt76/debugfs.c | 5 +- drivers/net/wireless/mediatek/mt76/mt76.h | 4 +- .../wireless/mediatek/mt76/mt7615/debugfs.c | 2 +- .../wireless/mediatek/mt76/mt7915/debugfs.c | 63 ++++++++++--------- .../net/wireless/mediatek/mt76/mt7915/init.c | 6 +- .../wireless/mediatek/mt76/mt7915/mt7915.h | 2 +- .../wireless/mediatek/mt76/mt7921/debugfs.c | 2 +- 7 files changed, 45 insertions(+), 39 deletions(-)Signature · 1 line
2.31.1