mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
wifi: rtw89: pci: disable PCI completion timeout control
Realtek's chips follow suggestion of PCIe spec to design the max timeout of PCI completion, but some PCIe host reply too slow to meet it and lead PCI AER. Disable PCI completion timeout function via PCI configuration to avoid the AER. Signed-off-by: Chin-Yen Lee <timlee@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20241225122804.10214-1-pkshih@realtek.com
This commit is contained in:
parent
93b3a45645
commit
f69ccbc50a
|
|
@ -4078,6 +4078,15 @@ static void rtw89_pci_l1ss_cfg(struct rtw89_dev *rtwdev)
|
|||
rtw89_pci_l1ss_set(rtwdev, true);
|
||||
}
|
||||
|
||||
static void rtw89_pci_cpl_timeout_cfg(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv;
|
||||
struct pci_dev *pdev = rtwpci->pdev;
|
||||
|
||||
pcie_capability_set_word(pdev, PCI_EXP_DEVCTL2,
|
||||
PCI_EXP_DEVCTL2_COMP_TMOUT_DIS);
|
||||
}
|
||||
|
||||
static int rtw89_pci_poll_io_idle_ax(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
int ret = 0;
|
||||
|
|
@ -4291,6 +4300,7 @@ void rtw89_pci_basic_cfg(struct rtw89_dev *rtwdev, bool resume)
|
|||
|
||||
rtw89_pci_disable_eq(rtwdev);
|
||||
rtw89_pci_filter_out(rtwdev);
|
||||
rtw89_pci_cpl_timeout_cfg(rtwdev);
|
||||
rtw89_pci_link_cfg(rtwdev);
|
||||
rtw89_pci_l1ss_cfg(rtwdev);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user