5a00cf765f2c8bd2bc2f2b639783ab1843604486
[openwrt/staging/hauke.git] /
1 From 852d91023cc24663e6b3b0707e98a189a7b1de87 Mon Sep 17 00:00:00 2001
2 From: Andy Duan <fugang.duan@nxp.com>
3 Date: Wed, 2 Jan 2019 17:55:44 +0800
4 Subject: [PATCH] MLK-20684 PCI: Disable MSI on CYW4356 and CYW4359 chips
5
6 MSI is broken on CYW4356/4359 chips. This causes CYW4356 1CX not
7 work on i.MX8x platforms with bandwidth test. It is known issue
8 that i.MX8x PCIe host driver MSI interrupt lost.
9
10 Disable MSI completely for this chipset to let wifi can stable work
11 until PCIe RC driver fix the issue.
12
13 Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
14 Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
15 (cherry picked from commit d99766187fb99d4a6655a1e0fdf5dc9451a8e4a0)
16 ---
17 drivers/pci/quirks.c | 2 ++
18 1 file changed, 2 insertions(+)
19
20 --- a/drivers/pci/quirks.c
21 +++ b/drivers/pci/quirks.c
22 @@ -2523,6 +2523,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI
23 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi);
24 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi);
25 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0761, quirk_disable_all_msi);
26 +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x43ec, quirk_disable_all_msi);
27 +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x43ef, quirk_disable_all_msi);
28
29 /* Disable MSI on chipsets that are known to not support it */
30 static void quirk_disable_msi(struct pci_dev *dev)