@@ -842,9 +842,27 @@ mt7996_rf_regval_set(void *data, u64 val)
DEFINE_DEBUGFS_ATTRIBUTE(fops_rf_regval, mt7996_rf_regval_get,
mt7996_rf_regval_set, "0x%08llx\n");
+static int
+mt7996_init_radio_phy_debugfs(struct mt7996_phy *phy)
+{
+ struct dentry *dir;
+ char fname[12];
+
+ snprintf(fname, sizeof(fname), "radio_phy%d", phy->mt76->band_idx);
+ dir = debugfs_create_dir(fname, phy->dev->debugfs_dir);
+
+ if (IS_ERR_OR_NULL(dir))
+ return -ENOMEM;
+
+ phy->debugfs_dir = dir;
+
+ return 0;
+}
+
int mt7996_init_debugfs(struct mt7996_dev *dev)
{
struct dentry *dir;
+ struct mt7996_phy *phy;
dir = mt76_register_debugfs_fops(&dev->mphy, NULL);
if (!dir)
@@ -877,6 +895,9 @@ int mt7996_init_debugfs(struct mt7996_dev *dev)
dev->debugfs_dir = dir;
+ mt7996_for_each_phy(dev, phy)
+ mt7996_init_radio_phy_debugfs(phy);
+
return 0;
}
@@ -296,6 +296,8 @@ struct mt7996_phy {
bool has_aux_rx;
bool counter_reset;
+
+ struct dentry *debugfs_dir;
};
struct mt7996_dev {
These can be used instead of reporting just from the first phy, or using one file for all phys, as has been done previously. Signed-off-by: Rory Little <rory@candelatech.com> --- .../wireless/mediatek/mt76/mt7996/debugfs.c | 21 +++++++++++++++++++ .../wireless/mediatek/mt76/mt7996/mt7996.h | 2 ++ 2 files changed, 23 insertions(+)