wifi: mt76: mt7996: fix fw loading timeout
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 21 Dec 2023 09:41:18 +0000 (10:41 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 22 Feb 2024 08:55:16 +0000 (09:55 +0100)
Fix the following firmware loading error due to a wrong dma register
configuration if wed is disabled.

[    8.245881] mt7996e_hif 0001:01:00.0: assign IRQ: got 128
[    8.251308] mt7996e_hif 0001:01:00.0: enabling device (0000 -> 0002)
[    8.257674] mt7996e_hif 0001:01:00.0: enabling bus mastering
[    8.263488] mt7996e 0000:01:00.0: assign IRQ: got 126
[    8.268537] mt7996e 0000:01:00.0: enabling device (0000 -> 0002)
[    8.274551] mt7996e 0000:01:00.0: enabling bus mastering
[   28.648773] mt7996e 0000:01:00.0: Message 00000010 (seq 1) timeout
[   28.654959] mt7996e 0000:01:00.0: Failed to get patch semaphore
[   29.661033] mt7996e: probe of 0000:01:00.0 failed with error -11

Suggested-by: Sujuan Chen" <sujuan.chen@mediatek.com>
Fixes: 4920a3a1285f ("wifi: mt76: mt7996: set DMA mask to 36 bits for boards with more than 4GB of RAM")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/dma.c

index 483ad81b6eec6335cfbd33bbfc16deaf058a8b3f..fe37110e66875c469a6355cb1c90b295d8e95a3e 100644 (file)
@@ -237,7 +237,8 @@ void mt7996_dma_start(struct mt7996_dev *dev, bool reset, bool wed_reset)
                                 MT_WFDMA0_GLO_CFG_TX_DMA_EN |
                                 MT_WFDMA0_GLO_CFG_RX_DMA_EN |
                                 MT_WFDMA0_GLO_CFG_OMIT_TX_INFO |
-                                MT_WFDMA0_GLO_CFG_OMIT_RX_INFO_PFET2);
+                                MT_WFDMA0_GLO_CFG_OMIT_RX_INFO_PFET2 |
+                                MT_WFDMA0_GLO_CFG_EXT_EN);
 
                if (dev->hif2)
                        mt76_set(dev, MT_WFDMA0_GLO_CFG + hif1_ofs,