rtw89: 8852c: disable dma during mac init
authorPo-Hao Huang <phhuang@realtek.com>
Mon, 4 Jul 2022 02:34:48 +0000 (10:34 +0800)
committerKalle Valo <kvalo@kernel.org>
Fri, 2 Sep 2022 08:31:58 +0000 (11:31 +0300)
Without this patch, our hardware attempts to perform dma while device
cpu restarts, and leads to iommu page faults caused by invalid requests.
Some platforms show warning messages as below:
rtw89_8852ce 0000:01:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT
domain=0x000a address=0x10000000004 flags=0x0030]

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220704023453.19935-2-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/pci.c

index 7fdd592bfb8255e3d25201b5ad0e8886e8c9fd93..d00f152543dafc9737fd18656d3ef9b4340e6210 100644 (file)
@@ -1627,6 +1627,8 @@ static void rtw89_pci_ctrl_dma_all(struct rtw89_dev *rtwdev, bool enable)
                else
                        rtw89_write32_clr(rtwdev, R_AX_PCIE_INIT_CFG1,
                                          B_AX_STOP_AXI_MST);
+               rtw89_write32_clr(rtwdev, R_AX_PCIE_INIT_CFG1,
+                                 txhci_en | rxhci_en);
                if (chip_id == RTL8852C)
                        rtw89_write32_set(rtwdev, R_AX_PCIE_INIT_CFG1,
                                          B_AX_STOP_AXI_MST);