From: Oleksandr Natalenko <oleksandr@natalenko.name>
To: Hans de Goede <hdegoede@redhat.com>
Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Failed IRQ assignment for INT0002 on Braswell
Date: Wed, 22 Nov 2017 13:48:16 +0100 [thread overview]
Message-ID: <2100487.obXIbN4R9M@natalenko.name> (raw)
In-Reply-To: <3c09b28b-6ca5-cd1c-f5c0-f7be73f1c1b4@redhat.com>
Hi, Hans.
On středa 22. listopadu 2017 11:48:50 CET Hans de Goede wrote:
> /* snip */
> This should be fixed by:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/ke
> rnel/irq?id=382bd4de61827dbaaf5fb4fb7b1f4be4a86505e7
>
> Which is in 4.13, but the trigger-type does not seem to be the problem in
> your case, the problem likely is the ONESHOT flag:
>
> #define IRQF_ONESHOT 0x00002000
>
> Which appears to be set in the flags for the acpi irq handler:
> > kernel: genirq: Flags mismatch irq 9. 00010084 (INT0002) vs. 00002080
> > (acpi)
> But that irq is requested here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/driv
> ers/acpi/osl.c#n570
>
>
>
> if (request_irq(irq, acpi_irq, IRQF_SHARED, "acpi", acpi_irq)) {
> printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq);
> ...
>
> And IRQF_ONESHOT is not passed, so I do not understand where the 00002000 in
> the acpi irq handler flags is coming from ...
Well, looks like I know where this flag comes from. I boot this machine with
"threadirqs", and IRQF_ONESHOT description says:
===
52 * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler
finished.
53 * Used by threaded interrupts which need to keep the
54 * irq line disabled until the threaded handler has been
run.
===
If I boot the machine without "threadirqs", looks like the device is set up
okay. The only message I get in the kernel log is:
===
kernel: acpi INT0002:00: Device [GPED] is in always present list
===
Grepping for IRQ 9:
===
kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
kernel: ACPI: IRQ9 used by override.
===
and 9th interrupt shows this device:
===
9: 0 0 0 0 IO-APIC 9-fasteoi
acpi, INT0002
===
Any idea why "threadirqs" makes this fail?
Thanks.
Regards,
Oleksandr
next prev parent reply other threads:[~2017-11-22 12:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-21 22:35 Failed IRQ assignment for INT0002 on Braswell Oleksandr Natalenko
2017-11-22 10:48 ` Hans de Goede
2017-11-22 12:48 ` Oleksandr Natalenko [this message]
2017-11-22 15:50 ` Hans de Goede
2017-11-22 15:50 ` Hans de Goede
2017-11-22 18:13 ` Oleksandr Natalenko
2017-11-23 21:08 ` Andy Shevchenko
2017-11-23 21:15 ` Oleksandr Natalenko
2017-11-23 21:22 ` Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2100487.obXIbN4R9M@natalenko.name \
--to=oleksandr@natalenko.name \
--cc=hdegoede@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.