mirror of
https://github.com/brain-hackers/linux-brain.git
synced 2024-06-09 23:36:23 +09:00
MLK-24993 pci: quirks: disable dwc root port MSI for i.MX8QM series
i.MX8QM series MSI also break wireless function and suspend/resume
case since there have MSI interrupt lost. So keep previous behavior
that disable wireless MSI for i.MX8QM series.
Fixes: 6644cc2f3b
("MLK-24939 PCI: only disable MSI for i.MX8 dwc root port")
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
This commit is contained in:
parent
b98875a9d3
commit
0cd0008697
|
@ -2522,14 +2522,25 @@ static void quirk_disable_all_msi(struct pci_dev *dev)
|
|||
static void quirk_disable_nxp_imx_msi(struct pci_dev *dev)
|
||||
{
|
||||
struct pci_dev *host_bridge;
|
||||
bool msi_dis = false;
|
||||
|
||||
host_bridge = pci_get_domain_bus_and_slot(pci_domain_nr(dev->bus), 0,
|
||||
PCI_DEVFN(0, 0));
|
||||
if (host_bridge) {
|
||||
if (host_bridge->vendor == PCI_VENDOR_ID_SYNOPSYS &&
|
||||
host_bridge->device == 0xabcd)
|
||||
pci_no_msi();
|
||||
switch (host_bridge->vendor) {
|
||||
case PCI_VENDOR_ID_SYNOPSYS:
|
||||
if (host_bridge->device == 0xabcd)
|
||||
msi_dis = true;
|
||||
break;
|
||||
case PCI_VENDOR_ID_FREESCALE:
|
||||
if (host_bridge->device == 0x0)
|
||||
msi_dis = true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (msi_dis)
|
||||
pci_no_msi();
|
||||
pci_dev_put(host_bridge);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user