mt7603: improve reliability of the PSE reset

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2017-03-21 14:44:39 +01:00
parent d1769e3346
commit 38bae1d303
+6 -2
View File
@@ -1013,9 +1013,13 @@ void mt7603_mac_reset(struct mt7603_dev *dev)
u32 addr = mt7603_reg_map(dev, MT_CLIENT_BASE_PHYS_ADDR);
/* Reset PSE */
mt76_clear(dev, MT_PSE_RESET, MT_PSE_RESET_SW_S);
mt76_set(dev, MT_PSE_RESET, MT_PSE_RESET_SW);
mt76_poll_msec(dev, MT_PSE_RESET, MT_PSE_RESET_SW_S,
MT_PSE_RESET_SW_S, 500);
if (!mt76_poll_msec(dev, MT_PSE_RESET, MT_PSE_RESET_SW_S,
MT_PSE_RESET_SW_S, 500)) {
mt76_clear(dev, MT_PSE_RESET, MT_PSE_RESET_SW);
return;
}
mt76_clear(dev, MT_PSE_RESET, MT_PSE_RESET_SW_S);
mt76_set(dev, addr + MT_CLIENT_RESET_TX, MT_CLIENT_RESET_TX_R_E_1);