Messages in this thread Patch in this message | | | Date | Fri, 25 Apr 2014 15:27:42 +0800 | From | "Jin, Yao" <> | Subject | Re: [PATCH] pinctrl-baytrail: fix for irq descriptor conflict on ASUS T100TA |
| |
On 2014/4/25 5:33, Adam Williamson wrote: > On Thu, 2014-04-24 at 21:30 +0800, Jin, Yao wrote: > >>> Jin, do you have any idea what is going on? >>> >> >> Maybe neither the patch (http://dougvj.net/baytrail_gpio_quirk_v3.patch) >> nor my patch breaks the touch screen. >> >> I have tried the clean 3.15-rc2 with following patch which just adds >> back the ACPIID "INT33FC", but the touch screen still doesn't work (To >> avoid the i915 crash issue, I use with the boot option "nomodeset" in test). >> >> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c >> index 69e29f4..d79c6d7 100644 >> --- a/drivers/acpi/acpi_lpss.c >> +++ b/drivers/acpi/acpi_lpss.c >> @@ -180,6 +180,7 @@ static const struct acpi_device_id >> acpi_lpss_device_ids[] = { >> { "80860F14", (unsigned long)&byt_sdio_dev_desc }, >> { "80860F41", (unsigned long)&byt_i2c_dev_desc }, >> { "INT33B2", }, >> + { "INT33FC", }, >> >> { "INT3430", (unsigned long)&lpt_dev_desc }, >> { "INT3431", (unsigned long)&lpt_dev_desc }, >> diff --git a/drivers/pinctrl/pinctrl-baytrail.c >> b/drivers/pinctrl/pinctrl-baytrail.c >> index 6e8301f..447f1dc 100644 >> --- a/drivers/pinctrl/pinctrl-baytrail.c >> +++ b/drivers/pinctrl/pinctrl-baytrail.c >> @@ -572,6 +572,7 @@ static const struct dev_pm_ops byt_gpio_pm_ops = { >> >> static const struct acpi_device_id byt_gpio_acpi_match[] = { >> { "INT33B2", 0 }, >> + { "INT33FC", 0 }, >> { } >> }; >> MODULE_DEVICE_TABLE(acpi, byt_gpio_acpi_match); >> >> Since the clean 3.15-rc2 doesn't contain "INT33FC", so the baytrail gpio >> doesn't actually go into effect. > > Well, I just ran another test too. I built a kernel (3.15rc2) with both > v3 of Doug's SDIO device enumeration patch - > http://dougvj.net/baytrail_gpio_quirk_v3.patch - and the new patch for > the IRQ allocation issue by Thomas Gleixner, > https://patchwork.kernel.org/patch/4051581/ . That kernel gives me a > working touchscreen. Note that > http://dougvj.net/baytrail_gpio_quirk_v3.patch includes both the blocks > you mention (i.e. it adds INT33FC in both places). > > So, it really seems like for me at least, it's the combination of Doug's > patch and your approach to fixing the IRQ allocation issue that breaks > the touchscreen. Thomas' approach, even combined with Doug's patch, > seems to work fine. >
I'm trying the clean upstream 3.15-rc2 with the patch by Thomas Gleixner (https://patchwork.kernel.org/patch/4051581/) and the patch as following which only adds INT33FC, the touch screen doesn't work. I didn't add Doug's SDIO device enumeration patch in this test.
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index 69e29f4..d79c6d7 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c @@ -180,6 +180,7 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = { { "80860F14", (unsigned long)&byt_sdio_dev_desc }, { "80860F41", (unsigned long)&byt_i2c_dev_desc }, { "INT33B2", }, + { "INT33FC", },
{ "INT3430", (unsigned long)&lpt_dev_desc }, { "INT3431", (unsigned long)&lpt_dev_desc }, diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c index 6e8301f..447f1dc 100644 --- a/drivers/pinctrl/pinctrl-baytrail.c +++ b/drivers/pinctrl/pinctrl-baytrail.c @@ -572,6 +572,7 @@ static const struct dev_pm_ops byt_gpio_pm_ops = {
static const struct acpi_device_id byt_gpio_acpi_match[] = { { "INT33B2", 0 }, + { "INT33FC", 0 }, { } }; MODULE_DEVICE_TABLE(acpi, byt_gpio_acpi_match); It's still not clear to me why the touch screen doesn't work. As above test, my patch is not added in.
| |