mt76: mt7921: reduce mcu timeouts for suspend, offload and hif_ctrl msg
authorLorenzo Bianconi <lorenzo@kernel.org>
Sun, 7 Mar 2021 18:20:45 +0000 (19:20 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 11 Apr 2021 22:01:25 +0000 (00:01 +0200)
Reduce mcu timeout for the following uni mcu commands:
- MCU_UNI_CMD_SUSPEND
- MCU_UNI_CMD_OFFLOAD
- MCU_UNI_CMD_HIF_CTRL

This is a preliminary patch to introduce chip reset support

Co-developed-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c

index b0f8c29f756b8eeb6d7a3da4562fc85ef63cbfb6..08da6d0f1f3694b680b6011503fadc66adb2f80c 100644 (file)
@@ -222,8 +222,16 @@ mt7921_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
        u32 val;
        u8 seq;
 
-       /* TODO: make dynamic based on msg type */
-       mdev->mcu.timeout = 20 * HZ;
+       switch (cmd) {
+       case MCU_UNI_CMD_HIF_CTRL:
+       case MCU_UNI_CMD_SUSPEND:
+       case MCU_UNI_CMD_OFFLOAD:
+               mdev->mcu.timeout = HZ / 3;
+               break;
+       default:
+               mdev->mcu.timeout = 3 * HZ;
+               break;
+       }
 
        seq = ++dev->mt76.mcu.msg_seq & 0xf;
        if (!seq)