Re: [PATCH v2] pinctrl: cherryview: Do not mask all interrupts in probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>

Tested-by: Anisse Astier <anisse@xxxxxxxxx>


I confirm this is working and I still get the ACPI events

Regards,

Anisse
--
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



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux