All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>,
	Andy Shevchenko <andy@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org,
	Yauhen Kharuzhy <jekhor@gmail.com>
Subject: Re: [PATCH v2 2/3] pinctrl: cherryview: Do not allow the same interrupt line to be used by 2 pins
Date: Fri, 26 Nov 2021 20:13:53 +0200	[thread overview]
Message-ID: <YaEj4WuexzxGiP4L@smile.fi.intel.com> (raw)
In-Reply-To: <YZY1rTL2fnz1pxTq@lahna>

On Thu, Nov 18, 2021 at 01:14:53PM +0200, Mika Westerberg wrote:
> On Thu, Nov 18, 2021 at 11:56:49AM +0100, Hans de Goede wrote:
> > It is impossible to use the same interrupt line for 2 pins, this will
> > result in the interrupts only being delivered to the IRQ handler for
> > the pin for which chv_gpio_irq_type() was called last.
> > 
> > The pinctrl-cherryview.c code relies on the BIOS to correctly setup the
> > interrupt line, but there is a BIOS bug on at least the Medion Akoya E1239T
> > and the GPD win models where both INT33FF:02 pin 8, used by the powerbutton
> > and INT33FF:02 pin 21 used as IRQ input for the accelerometer are mapped to
> > interrupt line 0.
> > 
> > This causes 2 problems:
> > 1. The accelerometer IRQ does not work, since the power button is probed
> > later taking over the intr_lines[0] slot.
> > 
> > 2. Since the accelerometer IRQ is not marked as wakeup, interrupt line 0
> > gets masked on suspend, causing the power button to not work to wake
> > the system from suspend.
> > 
> > Likewise on the Lenovo Yogabook, which has a touchscreen as keyboard
> > and the keyboard half of the tablet also has a Wacom digitizer, the BIOS
> > by default assigns the same interrupt line to the GPIOs used
> > for their interrupts.
> > 
> > Fix these problems by adding a check for this and assigning a new
> > interrupt line to the 2nd pin for which chv_gpio_irq_type() gets called.
> > 
> > With this fix in place the following 2 messages show up in dmesg on
> > the Medion Akoya E1239T and the GPD win:
> > 
> >  cherryview-pinctrl INT33FF:02: interrupt line 0 is used by both pin 21 and pin 8
> >  cherryview-pinctrl INT33FF:02: changing the interrupt line for pin 8 to 15
> > 
> > And the following gets logged on the Lenovo Yogabook:
> > 
> >  cherryview-pinctrl INT33FF:01: interrupt-line 0 is used by both pin 49 and pin 56
> >  cherryview-pinctrl INT33FF:01: changing the interrupt line for pin 56 to 7
> > 
> > Note commit 9747070c11d6 ("Input: axp20x-pek - always register interrupt
> > handlers") was added as a work around for the power button not being able
> > to wakeup the system. This relies on using the PMIC's connection to the
> > power button but that only works on systems with the AXP288 PMIC.
> > Once this fix has been merged that workaround can be removed.
> > 
> > Cc: Yauhen Kharuzhy <jekhor@gmail.com>
> > Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Pushed to my review and testing queue, thanks!

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2021-11-26 18:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-18 10:56 [PATCH v2 1/3] pinctrl: cherryview: Don't use pin/offset 0 to mark an interrupt line as unused Hans de Goede
2021-11-18 10:56 ` [PATCH v2 2/3] pinctrl: cherryview: Do not allow the same interrupt line to be used by 2 pins Hans de Goede
2021-11-18 11:14   ` Mika Westerberg
2021-11-26 18:13     ` Andy Shevchenko [this message]
2021-11-18 10:56 ` [PATCH v2 3/3] pinctrl: cherryview: Ignore INT33FF UID 5 ACPI device Hans de Goede
2021-11-18 11:28   ` Andy Shevchenko
2021-11-26 18:12     ` Andy Shevchenko
2021-11-27 21:49       ` Hans de Goede
2022-01-13 11:43         ` Andy Shevchenko
2021-11-18 11:14 ` [PATCH v2 1/3] pinctrl: cherryview: Don't use pin/offset 0 to mark an interrupt line as unused Mika Westerberg
2021-11-26 18:13   ` Andy Shevchenko
2021-11-18 11:26 ` Andy Shevchenko
2021-11-26 17:43   ` Andy Shevchenko
2021-11-27 21:48     ` Hans de Goede

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=YaEj4WuexzxGiP4L@smile.fi.intel.com \
    --to=andriy.shevchenko@intel.com \
    --cc=andy@kernel.org \
    --cc=hdegoede@redhat.com \
    --cc=jekhor@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --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.