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

Reply via email to