Public bug reported:

On the HP OmniBook X Flip 16 (board 8DA0/8DA1, Intel Lunar Lake,
ELAN2514 touchscreen 04F3:43F0) the touchscreen interrupt never
deasserts on Linux. The result is an interrupt storm, a stylus that only
reports at ~25 Hz, stuttering or dead touch, and one CPU core that never
idles.

This is a separate report from bug 2142384 because that bug is marked
Fix Released for an out-of-tree workaround. No Ubuntu kernel contains a
fix.

== Root cause ==
HP's ACPI power resource for the touchscreen has inverted logic:

  \_SB.PC00.I2C4.PTPL._ON:  \_SB.SGRA (TPI2, TPIP)        // TPIP = T0IP = 0
  \_SB.PC00.I2C4.PTPL._OFF: \_SB.SGRA (TPI2, TPIP ^ One)

SGRA writes PADCFG0 bit 20 (GPIROUTIOXAPIC) of the touchscreen interrupt
pad (GPP_E_18, INTC105D:01 pin 44). The device's _INI sets the bit
correctly, then _ON clears it, which disconnects the pad from the IO-
APIC. Linux evaluates _ON at probe and on every resume. Windows does not
appear to run _ON while _STA already reports the resource on, so it is
not affected.

== Symptoms ==
- ~630 interrupts/s on the ELAN2514 IRQ while idle (grep ELAN /proc/interrupts)
- i2c_hid_acpi i2c-ELAN2514:00: i2c_hid_get_input: IRQ triggered but there's no 
data
- i2c_hid_acpi i2c-ELAN2514:00: i2c_hid_get_input: incomplete report (67/7167)
- pen reports at ~25 Hz (Windows on the same machine: ~268 Hz), touch stalls, 
false stylus proximity
- PADCFG0(GPP_E_18) = 0x80000102 (bit 20 clear)
- on some units the touchscreen does not work at all

== Fix ==
Upstream patch posted to the HID maintainers, Cc stable (i2c-hid-acpi 
re-enables the routing via the firmware's \_SB.SGRA helper at probe and resume, 
DMI-limited to 8DA0/8DA1):
https://patch.msgid.link/[email protected]

Tested on board 8DA1, BIOS F.20, Linux 7.2.8: idle IRQ rate 0/s after
boot and after s2idle resume, PADCFG0 = 0x80100102, pen, touch and palm
rejection work.

== Reproduction ==
Reproduced on Pop!_OS 24.04 with the distribution 7.0.11 and 7.1.5 kernels and 
with mainline 7.2.2. Another owner of the same board reports the same IRQ storm 
on Ubuntu 26.04.1 with kernel 7.0.0-31-generic:
https://github.com/testyfishy/hp-omnibook-flip16-touchscreen-fix

== Request ==
Please pick up the patch for the Ubuntu kernels once it is accepted upstream.

Full analysis, ACPI excerpts and traces:
https://github.com/iamwaqargulzar/hp-omnibook-x-flip-16-linux-touchscreen-pen-fix

Related: bug 2142384, https://bugzilla.kernel.org/show_bug.cgi?id=220854

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: hp kernel-bug lunar-lake noble patch resolute stylus touchscreen

** Patch added: "Upstream patch v1: HID: i2c-hid-acpi: restore touchscreen IRQ 
routing on HP OmniBook X Flip 16 (tested on board 8DA1, Linux 7.2.8)"
   
https://bugs.launchpad.net/bugs/2168946/+attachment/6003781/+files/0001-HID-i2c-hid-acpi-restore-touchscreen-IRQ-routing-on-.patch

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2168946

Title:
  HP OmniBook X Flip 16 (8DA1): firmware disconnects ELAN2514 04F3:43F0
  touchscreen IRQ, causing IRQ storm, slow pen (~25 Hz) and broken touch

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2168946/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to