diff options
author | Sean Wang <sean.wang@mediatek.com> | 2021-01-27 22:33:56 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-01-29 20:10:02 +0300 |
commit | 0da3c795d07bf005d4b0be8d6cdc4714aa51a988 (patch) | |
tree | 2b34f6151eebb60b2fb7a572137e283e928cc040 /drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | |
parent | eaafabd2850d782366ca0558d432857d5e3d472a (diff) | |
download | linux-0da3c795d07bf005d4b0be8d6cdc4714aa51a988.tar.xz |
mt76: mt7921: add coredump support
Introduce coredump support to mt7921 driver.
The coredump would be produced when MCU met the fatal error or driver
sent out the specific cmd to force trigger it.
Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c index 390e0e49724d..0dc8e25e18e4 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c @@ -213,6 +213,20 @@ mt7921_pm_idle_timeout_get(void *data, u64 *val) DEFINE_DEBUGFS_ATTRIBUTE(fops_pm_idle_timeout, mt7921_pm_idle_timeout_get, mt7921_pm_idle_timeout_set, "%lld\n"); +static int mt7921_config(void *data, u64 val) +{ + struct mt7921_dev *dev = data; + int ret; + + mt7921_mutex_acquire(dev); + ret = mt76_connac_mcu_chip_config(&dev->mt76); + mt7921_mutex_release(dev); + + return ret; +} + +DEFINE_DEBUGFS_ATTRIBUTE(fops_config, NULL, mt7921_config, "%lld\n"); + int mt7921_init_debugfs(struct mt7921_dev *dev) { struct dentry *dir; @@ -230,6 +244,7 @@ int mt7921_init_debugfs(struct mt7921_dev *dev) debugfs_create_file("runtime-pm", 0600, dir, dev, &fops_pm); debugfs_create_file("idle-timeout", 0600, dir, dev, &fops_pm_idle_timeout); + debugfs_create_file("chip_config", 0600, dir, dev, &fops_config); return 0; } |