From: "Jin, Yao" <yao.jin@linux.intel.com>
To: Benjamin Tissoires <benjamin.tissoires@gmail.com>,
Adam Williamson <awilliam@redhat.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
alan@linux.intel.com, mathias.nyman@intel.com,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Mika Westerberg <mika.westerberg@linux.intel.com>
Subject: Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA
Date: Sun, 20 Apr 2014 18:31:18 +0800 [thread overview]
Message-ID: <5353A1F6.60602@linux.intel.com> (raw)
In-Reply-To: <CAN+gG=E7jbpQxxVuhmY5E2msgdMhLLjMd=Kxn9JO57eCN+5nCQ@mail.gmail.com>
On 2014/4/19 4:44, Benjamin Tissoires wrote:
> On Wed, Apr 16, 2014 at 8:05 AM, Jin Yao <yao.jin@linux.intel.com> wrote:
>> A crash is triggered on the ASUS T100TA Baytrail-T because of a irq
>> descriptor conflict. There are two gpio triggered acpi events in this
>> device, GPIO 6 and 18. These gpios are translated to irqs by calling
>> gpio_to_irq which in turn will call irq_create_mapping(vg->domain, offset).
>> irq_create_mapping will take care of allocating the irq descriptor, taking
>> the first available number starting from the given value (6 in our case).
>> The 0-15 are already reserved by legacy ISA code, so it gets the first
>> free irq descriptor which is number 16. The i915 driver also uses irq 16,
>> it loads later than gpio and crashes in probe.
>>
>> The bug is reported here:
>> https://bugzilla.kernel.org/show_bug.cgi?id=68291
>
> Adam, the reporter of this bug told me that his touchscreen was broken
> in its tablet.
This bug is triggered when system boots, or rather, it's triggered in
i915 probe, because i915 still uses irq 16 but it's allocated for gpio
yet. It's not a touchscreen case.
> I strongly suspect this patch to be the root cause of this, because
> the touchscreen uses i2c_hid. i2c_hid relies on an IRQ declared in the
> DSDT when it is acpi enumerated, and since the inclusion of this
> patch, no irq are triggered from a driver point of view.
>
> Adam should still confirm that the revert of the patch makes the
> touchscreen back alive, but if I understood correctly the bug report,
> without the patch, his tablet oopses at boot.
Do you mean this patch cause the touchscreen doesn't work? I suspect
that because the touch screen works on my T100 with this patch.
>
> Still, it would be good if you could check that shifting the irqs in
> the pinctrl is or is not a problem with the irqs used for i2c devices
> (and others) declared in the dsdt.
I checked DSDT of ASUS T100, looks no irq conflict after irq shifting.
>
> Cheers,
> Benjamin
>
>>
>> The rootcause we know now is a low level irq issue. It needs a long term
>> solution to fix the issue in irq system.
>>
>> This patch changes the Baytrail GPIO driver to avoid the irq descriptor
>> conflict. It still uses the irq domain to allocate irq descriptor but start
>> from a predefined irq base number (256) to avoid the conflict.
>>
>> Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2014-04-20 10:31 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-16 12:05 [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA Jin Yao
2014-04-18 20:44 ` Benjamin Tissoires
2014-04-18 21:17 ` Adam Williamson
2014-04-20 10:31 ` Jin, Yao [this message]
2014-04-20 12:08 ` Jin, Yao
2014-04-20 15:28 ` Adam Williamson
2014-04-21 6:27 ` Jin, Yao
2014-04-21 13:28 ` Jin, Yao
2014-04-21 14:30 ` Benjamin Tissoires
2014-04-21 15:51 ` Adam Williamson
2014-04-23 5:16 ` Adam Williamson
2014-04-23 8:34 ` Mika Westerberg
2014-04-23 12:23 ` Mika Westerberg
2014-04-23 23:18 ` Adam Williamson
2014-04-24 13:30 ` Jin, Yao
2014-04-24 15:58 ` Adam Williamson
2014-04-24 21:33 ` Adam Williamson
2014-04-25 7:27 ` Jin, Yao
2014-04-25 9:40 ` Mika Westerberg
2014-04-25 12:46 ` Jin, Yao
2014-04-25 9:32 ` Linus Walleij
2014-04-25 15:13 ` Adam Williamson
2014-04-26 3:04 ` Jin, Yao
2014-04-26 3:42 ` Jin, Yao
2014-05-02 22:46 ` Linus Walleij
2014-04-20 12:56 ` Benjamin Tissoires
2014-04-22 11:51 ` Mika Westerberg
2014-04-22 12:46 ` Jin, Yao
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=5353A1F6.60602@linux.intel.com \
--to=yao.jin@linux.intel.com \
--cc=alan@linux.intel.com \
--cc=awilliam@redhat.com \
--cc=benjamin.tissoires@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=mika.westerberg@linux.intel.com \
/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.