Re: [PATCH] pinctrl: cherryview: Do not mask all interrupts on probe
From: Mika Westerberg
Date: Wed Aug 17 2016 - 04:13:55 EST
On Tue, Aug 16, 2016 at 06:12:40PM +0200, Anisse Astier wrote:
> Hi Mika,
>
> On Tue, Jun 2, 2015 at 4:15 PM, Mika Westerberg
> <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> > On Tue, Jun 02, 2015 at 03:53:40PM +0200, Linus Walleij wrote:
> >> On Mon, Jun 1, 2015 at 11:23 AM, Mika Westerberg
> >> <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> >> > On Fri, May 22, 2015 at 10:56:08AM +0300, Mika Westerberg wrote:
> >> >> BIOS/platform may use some of the pins by themselves, such as providing SCI
> >> >> (System Control Interrupt) from the embedded controller. The driver masks
> >> >> all interrupts at probe time which prevents those pins from triggering
> >> >> interrupts properly.
> >> >>
> >> >> Fix this by not masking all interrupts at probe -- it should be enough just
> >> >> to clear the status register.
> >> >>
> >> >> Reported-by: Yu C Chen <yu.c.chen@xxxxxxxxx>
> >> >> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> >> >
> >> > Please ignore this patch for now. It turned out to be causing spurious
> >> > interrupts on another platform.
> >> >
> >> > I'll need to rethink how to fix the reported issue.
> >>
> >> Looks like a case of "embed more magic knowledge" in the driver :/
> >>
> >> It needs to know what platform it is running on, and only leave specific
> >> bits unmasked on these specific platforms. Right? Thereby
> >> tossing all of the acpi_device_id matching and abstraction out
> >> of the window.
> >
> > That's right.
> >
> > We still have few options left, like using ACPI _AEI (ACPI GPIO
> > triggered events) for this or adding GPIO interrupt support directly to
> > the EC driver.
>
> Did you find a way to fix this issue ? I'm seeing a similar problem on a
> laptop where this masks the interrupt used for ACPI events (brightness,
> lid, battery).
I seem to have forgotten this completely :-/
Can you send me output of /sys/kernel/debug/pinctrl/INT33FF:*/pins for
that particular EC pin?
In addition if you apply this patch do you see that ACPI events start
working?