mt7603: add debugfs file to trigger watchdog resets

Makes it easier to verify that the reset code is working properly

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2018-11-06 13:39:41 +01:00
parent c34baabf3b
commit ac6fc78aee
3 changed files with 9 additions and 1 deletions
+1
View File
@@ -47,5 +47,6 @@ void mt7603_init_debugfs(struct mt7603_dev *dev)
if (!dir)
return;
debugfs_create_u32("reset_test", 0600, dir, &dev->reset_test);
debugfs_create_devm_seqfile(dev->mt76.dev, "reset", dir, mt7603_reset_read);
}
+6 -1
View File
@@ -1265,6 +1265,11 @@ mt7603_watchdog_check(struct mt7603_dev *dev, u8 *counter,
enum mt7603_reset_cause cause,
bool (*check)(struct mt7603_dev *dev))
{
if (dev->reset_test == cause + 1) {
dev->reset_test = 0;
goto trigger;
}
if (check) {
if (!check(dev) && *counter < MT7603_WATCHDOG_TIMEOUT) {
*counter = 0;
@@ -1276,7 +1281,7 @@ mt7603_watchdog_check(struct mt7603_dev *dev, u8 *counter,
if (*counter < MT7603_WATCHDOG_TIMEOUT)
return false;
trigger:
dev->reset_cause[cause]++;
return true;
}
+2
View File
@@ -127,6 +127,8 @@ struct mt7603_dev {
u16 tx_dma_idx[4];
u16 rx_dma_idx;
u32 reset_test;
unsigned int reset_cause[__RESET_CAUSE_MAX];
struct delayed_work mac_work;