RE: [BUG] intel-quickspi: touchscreen DMA write timeout (Goodix 27C6:012D) on Lenovo YOGA Pro 16 IAH10
"Xu, Even" <[email protected]>
| Newsgroups | org.kernel.vger.linux-input |
|---|---|
| Message-ID | <IA1PR11MB609806D036ACDB2E7A9C7A18F4A72@IA1PR11MB6098.namprd11.prod.outlook.com> |
Generally speaking, a write timeout does not normally occur on the SPI bus. If it does happen, it usually indicates that there is a problem with the bus, or that the touch device has lost power. You can try unloading the intel_quickspi driver with rmmod, then reload it with insmod, and check the kernel log to see whether a different symptom appears. Best Regards, Even Xu > -----Original Message----- > From: Qiao Ruihao <[email protected]> > Sent: Saturday, August 15, 2026 11:20 PM > To: [email protected] > Cc: Xu, Even <[email protected]>; Sun, Xinpeng <[email protected]> > Subject: [BUG] intel-quickspi: touchscreen DMA write timeout (Goodix > 27C6:012D) on Lenovo YOGA Pro 16 IAH10 > > Hello, > > The touchscreen on my Lenovo YOGA Pro 16 IAH10 does not work under Linux. > The intel-quickspi driver detects the device, but the feature-report fetch > (GET_REPORT) fails with a TxDMA write timeout, which makes hid-multitouch fail > initialization and fall back to a generic keyboard, so the screen does not respond > to any touch input. > > The touchscreen works correctly under Windows 11 on the same hardware. > > ## Hardware > > - Laptop: Lenovo YOGA Pro 16 IAH10 (MT 83L0) > - CPU: Intel Arrow Lake-H > - Touchscreen: Goodix 27C6:012D, connected via Intel THC QuickSPI > - THC controller: 00:10.0 Digitizer Pen [8086:7749] (rev 03), > subsystem Lenovo [17aa:3815] > > ## Software > > - Kernel: 7.0.14-070014-generic > (also reproduced on 6.19.14-061914-generic) > - Distro: Ubuntu 22.04.5 LTS > > ## Problem > > At boot the device is detected (reset + device descriptor read succeed), but then > hid-multitouch fails to fetch its feature reports because every GET_REPORT > command sent over TxDMA times out. > > ## Relevant kernel log > > intel_quickspi 0000:00:10.0: Can't find wake GPIO resource > ACPI: \_SB.PC00.THC0._RST: Excess arguments - Caller passed 1, ACPI requires 0 > input: quickspi-hid 27C6:012D Touchscreen as > /devices/pci0000:00/0000:00:10.0/0001:27C6:012D.0002/input/input7 > intel_quickspi 0000:00:10.0: Wait Get Report Response timeout, ret:0 > hid-multitouch 0001:27C6:012D.0002: failed to fetch feature 2 > intel_quickspi 0000:00:10.0: timeout for waiting TxDMA completion > intel_quickspi 0000:00:10.0: DMA write failed, ret = -110 > intel_quickspi 0000:00:10.0: Write GET_REPORT command failed, ret = -110 > hid-multitouch 0001:27C6:012D.0002: failed to fetch feature 3 > hid-multitouch 0001:27C6:012D.0002: input,hidraw1: <UNKNOWN> HID v8.65 > Keyboard [quickspi-hid 27C6:012D] > > ## Analysis > > The reset (acpi_tic_reset via _RST) and device-descriptor read succeed, so the > SPI link and interrupt path partially work. The failure is specific to > quickspi_get_report() -> > write_cmd_to_txdma() -> thc_dma_write(): the TxDMA transfer never completes > (write_done is never set, 1s timeout -> -ETIMEDOUT). > > I would be happy to provide additional information (full dmesg, ACPI tables, > register dumps) or test patches. > > Thanks, > Qiao Ruihao