* [PATCH] PCI: add boot interrupt reroute DMI-quirk for ASUS M2N-LR
@ 2017-04-19 7:22 Stefan Assmann
2017-04-25 20:42 ` Bjorn Helgaas
0 siblings, 1 reply; 2+ messages in thread
From: Stefan Assmann @ 2017-04-19 7:22 UTC (permalink / raw)
To: linux-pci; +Cc: bhelgaas, rjw, lenb, sassmann
The ASUS M2N-LR should not trigger boot interrupt quirks although it
carries an Intel 6702PXH. On this board the boot interrupt quirks
cause incorrect IRQ assignments and should be disabled.
Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=43074
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
---
drivers/pci/quirks.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 6736836..f23ad20 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1685,6 +1685,28 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260a, quirk_intel_pcie_pm);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm);
#ifdef CONFIG_X86_IO_APIC
+static int dmi_disable_ioapicreroute(const struct dmi_system_id *d)
+{
+ noioapicreroute = 1;
+ pr_info("%s detected: disable boot interrupt reroute\n", d->ident);
+
+ return 0;
+}
+static struct dmi_system_id boot_interrupt_dmi_table[] = {
+ /*
+ * Systems to exclude from boot interrupt reroute quirks
+ */
+ {
+ .callback = dmi_disable_ioapicreroute,
+ .ident = "ASUSTek Computer INC. M2N-LR",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTek Computer INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "M2N-LR"),
+ },
+ },
+ {}
+};
+
/*
* Boot interrupts on some chipsets cannot be turned off. For these chipsets,
* remap the original interrupt in the linux kernel to the boot interrupt, so
@@ -1693,6 +1715,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm);
*/
static void quirk_reroute_to_boot_interrupts_intel(struct pci_dev *dev)
{
+ dmi_check_system(boot_interrupt_dmi_table);
if (noioapicquirk || noioapicreroute)
return;
--
2.9.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] PCI: add boot interrupt reroute DMI-quirk for ASUS M2N-LR
2017-04-19 7:22 [PATCH] PCI: add boot interrupt reroute DMI-quirk for ASUS M2N-LR Stefan Assmann
@ 2017-04-25 20:42 ` Bjorn Helgaas
0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Helgaas @ 2017-04-25 20:42 UTC (permalink / raw)
To: Stefan Assmann; +Cc: linux-pci, bhelgaas, rjw, lenb, Solomon Peachy
[+cc Solomon]
On Wed, Apr 19, 2017 at 09:22:45AM +0200, Stefan Assmann wrote:
> The ASUS M2N-LR should not trigger boot interrupt quirks although it
> carries an Intel 6702PXH. On this board the boot interrupt quirks
> cause incorrect IRQ assignments and should be disabled.
>
> Fixes:
> https://bugzilla.kernel.org/show_bug.cgi?id=43074
>
> Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Applied with Solomon's tested-by to pci/irq for v4.12, thanks!
> ---
> drivers/pci/quirks.c | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 6736836..f23ad20 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -1685,6 +1685,28 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260a, quirk_intel_pcie_pm);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm);
>
> #ifdef CONFIG_X86_IO_APIC
> +static int dmi_disable_ioapicreroute(const struct dmi_system_id *d)
> +{
> + noioapicreroute = 1;
> + pr_info("%s detected: disable boot interrupt reroute\n", d->ident);
> +
> + return 0;
> +}
> +static struct dmi_system_id boot_interrupt_dmi_table[] = {
> + /*
> + * Systems to exclude from boot interrupt reroute quirks
> + */
> + {
> + .callback = dmi_disable_ioapicreroute,
> + .ident = "ASUSTek Computer INC. M2N-LR",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTek Computer INC."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "M2N-LR"),
> + },
> + },
> + {}
> +};
> +
> /*
> * Boot interrupts on some chipsets cannot be turned off. For these chipsets,
> * remap the original interrupt in the linux kernel to the boot interrupt, so
> @@ -1693,6 +1715,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm);
> */
> static void quirk_reroute_to_boot_interrupts_intel(struct pci_dev *dev)
> {
> + dmi_check_system(boot_interrupt_dmi_table);
> if (noioapicquirk || noioapicreroute)
> return;
>
> --
> 2.9.3
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-04-25 20:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-19 7:22 [PATCH] PCI: add boot interrupt reroute DMI-quirk for ASUS M2N-LR Stefan Assmann
2017-04-25 20:42 ` Bjorn Helgaas
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.