Skip to contentSkip to conversation

R: [PATCH v2 1/2] PCI: Disable MSI for Pericom PCIe-USB adapter

DISCUSSION [email protected] 2 participants 2 messages Nov 6, 2020 – Nov 9, 2020

Subsystems (2)
lore
Share & tools
lore

[email protected]

author Tested-by
#0 lore raw
Quoted 4 lines

----Messaggio originale----
Da: [email protected]
Data: 06/11/2020 11.05
A: "Bjorn Helgaas"<[email protected]>, <[email protected]>, <johan@ke

rnel.org>, <[email protected]>

Quoted 1 line
Cc "Andy Shevchenko"<[email protected]>, <alberto.vignani@fast

webnet.it>

Quoted 36 lines

Ogg: [PATCH v2 1/2] PCI: Disable MSI for Pericom PCIe-USB adapter

Pericom PCIe-USB adapter advertises MSI, but documentation says "The MSI Function is not implemented on this device." in the chapters 7.3.27, 7.3.29-7.3.31.

Fixes 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI devices")

Datasheet: https://www.diodes.com/assets/Datasheets/PI7C9X440SL.pdf

---
v2: dropped confusing word (David), added ifdeffery (Ben) drivers/pci/quirks.c | 17 +++++++++++++----

1 file changed, 13 insertions(+), 4 deletions(-)
drivers/pci/quirks.c +7 -2
index f70692ac79c5..e66e0cc8f99b 100644
@@ -5567,17 +5567,26 @@ static void pci_fixup_no_d0_pme(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x2142, pci_fixup_no_d0_pme);
 
 /*
- * Device [12d8:0x400e] and [12d8:0x400f]
+ * Device 12d8:0x400e [OHCI] and 12d8:0x400f [EHCI]
+ *
 * These devices advertise PME# support in all power states but don't
 * reliably assert it.
+ *
+ * These devices advertise MSI, but documentation (PI7C9X440SL.pdf) says
+ * "The MSI Function is not implemented on this device." in the chapters
+ * 7.3.27, 7.3.29-7.3.31.
 */
-static void pci_fixup_no_pme(struct pci_dev *dev)
+static void pci_fixup_no_msi_no_pme(struct pci_dev *dev)
 {

drivers/pci/quirks.c static void pci_fixup_no_d0_pme(struct pci_dev *dev) · line 5588

Quoted 10 lines
drivers/pci/quirks.c +5 -2
+#ifdef CONFIG_PCI_MSI
+	pci_info(dev, "The MSI is not implemented on this device, disabling it\n");
+	dev->no_msi = 1;
+#endif
 	pci_info(dev, "PME# is unreliable, disabling it\n");
 	dev->pme_support = 0;
 }
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400e, pci_fixup_no_pme);
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400f, pci_fixup_no_pme);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400e, pci_fixup_no_msi_no_pme

);

drivers/pci/quirks.c static void pci_fixup_no_d0_pme(struct pci_dev *dev) · line 5589

Quoted 1 line
drivers/pci/quirks.c +1 -0
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400f, pci_fixup_no_msi_no_pme

);

Quoted 5 lines
drivers/pci/quirks.c +0 -0
 static void apex_pci_fixup_class(struct pci_dev *pdev)
 {
Signature · 1 line
2.28.0
#1 lore raw
Quoted 1 line · On Fri, Nov 06, 2020 at 04:34:25PM +0100, [email protected] wrote:

Thanks!

JFYI: it seems somewhere your mail lost References: and In-Reply-To: headers. The above message probably won't be seen by bots.

Signature · 2 lines
With Best Regards,
Andy Shevchenko