On Mon, Aug 22, 2016 at 1:42 PM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > The Cherryview GPIO controller has 8 or 16 wires connected to the I/O-APIC > which can be used directly by the platform/BIOS or drivers. One such wire > is used as SCI (System Control Interrupt) which ACPI depends on to be able > to trigger GPEs (General Purpose Events). > > The pinctrl driver itself uses another IRQ resource which is wire OR of all > the 8 (or 16) wires and follows what BIOS has programmed to the IntSel > register of each pin. > > Currently the driver masks all interrupts at probe time and this prevents > these direct interrupts from working as expected. The reason for this is > that some early stage prototypes had some pins misconfigured causing lots > of spurious interrupts. > > We fix this by leaving the interrupt mask untouched. This allows SCI and > other direct interrupts work properly. What comes to the possible spurious > interrupts we switch the default handler to be handle_bad_irq() instead of > handle_simple_irq() (which was not correct anyway). > > Reported-by: Yu C Chen <yu.c.chen@xxxxxxxxx> > Reported-by: Anisse Astier <anisse@xxxxxxxxx> > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Patch applied for fixes. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html