diff mbox series

[1/6] rtw89: 8852c: disable dma during mac init

Message ID 20220704023453.19935-2-pkshih@realtek.com
State New
Headers show
Series [1/6] rtw89: 8852c: disable dma during mac init | expand

Commit Message

Ping-Ke Shih July 4, 2022, 2:34 a.m. UTC
From: Po-Hao Huang <phhuang@realtek.com>

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>
---
 drivers/net/wireless/realtek/rtw89/pci.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kalle Valo Sept. 2, 2022, 8:32 a.m. UTC | #1
Ping-Ke Shih <pkshih@realtek.com> wrote:

> From: Po-Hao Huang <phhuang@realtek.com>
> 
> 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>

6 patches applied to wireless-next.git, thanks.

0e91d191cf4b rtw89: 8852c: disable dma during mac init
22e2f847c526 rtw89: 8852a: update HW setting on BB
917606d77910 rtw89: declare support HE HTC always
8676031bae1c rtw89: ser: leave lps with mutex
60b2ede9dd38 rtw89: 8852c: modify PCIE prebkf time
ee5469046474 rtw89: 8852c: adjust mactxen delay of mac/phy interface
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
index 73b3b7e9fe6f5..19217a6951c97 100644
--- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
@@ -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);