APPLIED [OEM-5.6] Re: [PATCH 0/2 v2][SRU][OEM-5.6] Wakeup the system by touching the touchpad
Timo Aaltonen
tjaalton at ubuntu.com
Wed Jul 29 12:04:36 UTC 2020
On 21.7.2020 11.48, Koba Ko wrote:
> BugLink: https://bugs.launchpad.net/bugs/1888331
>
> [Impact]
> Can't wake up by touching the touchpad.
>
> [Fix]
> 1.gpio: With 'commit 461c1a7d4733 ("gpiolib: override rq_enable/disable")'
> gpiolib overrides irqchip's irq_enable and irq_disable callbacks. If
> irq_disable callback is implemented then genirq takes unlazy path to
> disable irq. Underlying irqchip may not want to implement irq_disable
> callback to lazy disable irq when client drivers invokes disable_irq().
> By overriding irq_disable callback, gpiolib ends up always unlazy
> disabling IRQ. Allow gpiolib to lazy disable IRQs by overriding
> irq_disable callback only if irqchip implemented irq_disable. In cases
> where irq_disable is not implemented irq_mask is overridden. Similarly
> override irq_enable callback only if irqchip implemented irq_enable
> otherwise irq_unmask is overridden.
> 2. hid: Many laptops can be woken up from Suspend-to-Idle by the touchpad.
> This is also the default behavior on other OSes.
> However, if the touch pad and touchscreen contact to each other when
> lid is closed, the wakeup events can be triggered inadvertently.
> So let's disable the wakeup by default, but enable the wakeup ability
> so users can enable it at their own discretion.
>
> [test]
> With the patch and manually enable HID's power/wakeup,
> the system can wake up by touching the touchpad.
>
> [Regression Potential]
> Low. The two patches are already landed in the upstream.
>
> v2: Add the line of cherry picked for the patches.
>
> Kai-Heng Feng (1):
> HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle
>
> Maulik Shah (1):
> gpio: gpiolib: Allow GPIO IRQs to lazy disable
>
> drivers/gpio/gpiolib.c | 57 +++++++++++++++++++-----------
> drivers/hid/i2c-hid/i2c-hid-core.c | 12 +++++++
> include/linux/gpio/driver.h | 13 +++++++
> 3 files changed, 62 insertions(+), 20 deletions(-)
>
applied to oem-5.6, thanks
--
t
More information about the kernel-team
mailing list