Hi Jingyuan, Dale, Thank you both. Since my earlier message, I have moved the SL7 integration onto Jingyuan's v4 series, replacing the standalone downstream HID driver. Normal touchpad operation is working with the local GENI QSPI stack and existing iptsd setup. This is testing of v4 plus my local changes rather than unmodified v4.
The QSPI transport uses spi-mem operations, with 1-4-4 transfers and eight dummy clocks for the SL7 read path. I also have changes around DMA buffer alignment, report bounds and request handling. I plan to separate the generic fixes from the QSPI transport changes and keep the GENI/GPI controller work in a separate series, retaining the downstream provenance. I can rebase against v5 and drop anything it already addresses. I also encountered a resume issue in this SL7 integration: the HID reset-resume callback could run before the asynchronous reset/descriptor exchange completed. Delaying that callback addressed the ordering problem. The touchpad also lost its userspace-selected heatmap mode after reset; restarting iptsd restored multi-finger input. My current SL7 workaround recreates the HID device after reset so userspace reconnects and initializes it again. Resume with this workaround has been tested successfully here, but I would like to discuss a cleaner recovery policy before proposing that part upstream. Jingyuan, do you have a preferred transport interface for adding spi-mem support to the generic driver? I can prepare a focused diff for discussion alongside your v5 work. Dale, thanks for the nix1e link. I have reviewed the patches and module build definitions at b274dd7. The build definitions apply v4 plus fullduplex.patch to SPI-HID and include separately built GENI/GPI modules with the downstream QSPI patches. The HID read path combines the command and receive buffers in one SPI transfer; my local implementation instead expresses the command, address, dummy clocks and data through spi-mem. The DT configuration in that revision targets Romulus13/15, so I assume the additional Denali DT changes you mentioned are local to your setup; please correct me if I have missed a published branch. If those changes are available, a link or diff would help us compare the wiring. I also noticed that nix1e's README reports a suspend fix. On your SP11 setup, do touch and pen both remain fully functional after resume without restarting iptsd (if you use it)? That would be useful context for the SL7 recovery issue above. Please keep me CCed, as I am not subscribed to the lists. Best regards, Jizhou Tong
