Attention is currently required from: Dinesh Gehlot, Edward Doan, Eric Lai, Kapil Porwal, Nick Vaccaro, SH Kim, Subrata Banik, YH Lin.
Jamie Chen has posted comments on this change by SH Kim. ( https://review.coreboot.org/c/coreboot/+/83346?usp=email )
Change subject: mb/google/brya/var/xol: Change touchpad I2C interrupt type to GPIO_INT ......................................................................
Patch Set 3: Code-Review+1
(1 comment)
Patchset:
PS3:
Please refer to the bug for the detail. Add Jamie@intel for any further question.
- We can refer to this comment for why we have IOAPIC configuration has this problem.: https://partnerissuetracker.corp.google.com/issues/350609957#comment22. I just assume GPI_INT has differt mechanism to handle its interrupt status in SoC or GPIO driver, Intel can help for any comment about it.
if SoC is using same IRQ number for its internal device then changing this PIN to GPI IOAPIC makes lot more sense to me but looks like other parts are happily using same PIN for IOAPIC hence, I'm suspecting some abnormality with the device firmware.
I don't know the timing difference between IOAPIC interrupt vs GPI IOAPIC interrupt.
The timing difference may be caused by the two types of interrupts, which are managed by different drivers, and the paths of the interrupts are different.
IOAPIC:
- GPIO==>IRQ127 ==> APIC==>CPU==>ISR registered by GPIO driver ==> GPIO driver dispatches event in GPI_IS ==> hook callback registered by i2c-hid driver
GPI IOAPIC:
- GPIO==>IRQ100 ==> APIC==>CPU==>ISR registered by i2c-hid driver
- We had discussion with device vendor in the bug, they said cannot change interrupt signal timing in device firmware.: https://partnerissuetracker.corp.google.com/issues/350609957#comment27
if device firmware acknowledge there is some limitation hence, we should be good to support this CL.
Do you know if the device fw is meeting Intel's minimum IRQ width (150uS) requirement for ADL
From touchpad vendor, "IRQ width of Touchpad is depend on data size of touchpad. I think Device FW meet ADL requrement because most of touchpad data is over 4Byte."
We had 2 options for this problem, one was a patch in kernel side and another one was this patch. And we choose this change for Xol.
Actually we didn't try Edge Single interrupt configuration but I think it may cause DUT to miss interrupts from device on continuous user input on touchpad.