> -----Original Message----- > From: Aaron Ma <aaron.ma@xxxxxxxxxxxxx> > Sent: Tuesday, December 17, 2024 3:33 PM > To: Xu, Even <even.xu@xxxxxxxxx>; jikos@xxxxxxxxxx; bentiss@xxxxxxxxxx; > corbet@xxxxxxx; bagasdotme@xxxxxxxxx; rdunlap@xxxxxxxxxxxxx > Cc: linux-input@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux- > doc@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v3 00/22] Add Intel Touch Host Controller drivers > > > > On 12/17/24 2:58 PM, Xu, Even wrote: > > Hi, Aaron, > > > > Thanks for testing! > > > > It’s not a driver error, it just means driver detected a touch device error (Touch > device report an unexpected RESET Response). > > > > I also met the same issue during test, it usually happens during enumeration > flow. > > > > If user keep touching the screen before/during driver do device initialization, it > will happen. > > > > During the booting, no touching. > It still repeats this error when driver is loading. > > After system bootup and in idle, every single touch will report this error. > > Aaron Interesting! That's the new issue I never met. Is touch function abnormal (I mean the single touch)? Best Regards, Even Xu > > > In general, Touch devices will self recover from this error, it will not impact > normal touch function. > > > > Thanks! > > > > Best Regards, > > > > Even Xu > > > > *From:*Aaron Ma <aaron.ma@xxxxxxxxxxxxx> > > *Sent:* Tuesday, December 17, 2024 2:47 PM > > *To:* Xu, Even <even.xu@xxxxxxxxx>; jikos@xxxxxxxxxx; > > bentiss@xxxxxxxxxx; corbet@xxxxxxx; bagasdotme@xxxxxxxxx; > > rdunlap@xxxxxxxxxxxxx > > *Cc:* linux-input@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > > linux-doc@xxxxxxxxxxxxxxx > > *Subject:* Re: [PATCH v3 00/22] Add Intel Touch Host Controller > > drivers > > > > Hi Even, > > > > Tested on 6.13-rc3, there is an error repeated when using touchscreen: > > > > intel_quicki2c 0000:00:10.0: *unexpected DIR happen* > > > > The device info: > > [ 3.013613] input: quicki2c-hid 27C6:012D Touchscreen as > > /devices/pci0000:00/0000:00:10.0/000 > > 1:27C6:012D.0001/input/input6 > > [ 3.013763] input: quicki2c-hid 27C6:012D as > /devices/pci0000:00/0000:00:10.0/0001:27C6:012D. > > 0001/input/input7 > > [ 3.013894] hid-generic 0001:27C6:012D.0001: input,hidraw0: > > <UNKNOWN> HID v8.65 Device [quick i2c-hid 27C6:012D] on > > > > > > Aaron > > > > On 12/16/24 9:41 AM, Even Xu wrote: > > > > Intel Touch Host Controller (THC) is a new high performance input > > IP > > > > which can benefit HID device's data transaction, such as touch > > screen, > > > > touch pad, stylus. > > > > THC IP now evoluates to V4, it can support 3 different modes: > > IPTS, > > > > HIDSPI and HIDI2C. Here are upgrade history: > > > > - THC v1, for TGL/LKF, supports intel private IPTS (Intel Precise > > Touch > > > > and Stylus) protocol ( IPTS mode) > > > > - THC v2, for ADL, add industrial standard HID over SPI protocol > > support > > > > (HIDSPI mode) > > > > - THC v3, for MTL, enhance HID over SPI mode > > > > - THC v4, for LNL, add inudstrial standard HID over I2C protocol > > support > > > > (HIDI2C mode) > > > > Linux Surface community (https://github.com/linux-surface > > <https://github.com/linux-surface>) already > > > > implemented IPTS mode. These patch series provides THC HIDSPI mode > > and > > > > THC HIDI2C mode support on Linux. > > > > These patch series includes: > > > > 1. Document for THC hardware and software introduction. > > > > 2. Intel THC Hardware layer driver which provides control > > interfaces > > > > for protocol layer. > > > > 3. Intel QuickSPI (R) driver working as a HIDSPI device driver > > which > > > > implements HID over SPI protocol and flow. > > > > 4. Intel QuickI2C (R) driver working as a HIDI2C device driver > > which > > > > implements HID over I2C protocol and flow. > > > > Change logs: > > > > v3: > > > > - Change tables in documents from literal block to table format > > > > - Change symbol namespace to string literal according to patch: > > > > cdd30ebb1b9f ("module: Convert symbol namespace to string > > literal") > > > > - Refine Kconfig description > > > > - Enhance Quickspi and Quicki2c driver by clearing THC hardware > > interal > > > > state before doing initialization to avoid BIOS impacts. > > > > - A fix in Quicki2c driver when does set_report > > > > v2: > > > > - Fix document format issues > > > > - Add THC device IDs for Intel Panther Lake (PTL) platform > > > > Even Xu (13): > > > > HID: THC: Add documentation > > > > HID: intel-thc-hid: intel-thc: Add THC DMA interfaces > > > > HID: intel-thc-hid: intel-thc: Add THC I2C config interfaces > > > > HID: intel-thc-hid: intel-quickspi: Add THC QuickSPI driver hid > > layer > > > > HID: intel-thc-hid: intel-quickspi: Add THC QuickSPI ACPI > > interfaces > > > > HID: intel-thc-hid: intel-quickspi: Add HIDSPI protocol > > implementation > > > > HID: intel-thc-hid: intel-quickspi: Add PM implementation > > > > HID: intel-thc-hid: intel-quicki2c: Add THC QuickI2C driver > > skeleton > > > > HID: intel-thc-hid: intel-quicki2c: Add THC QuickI2C driver hid > > layer > > > > HID: intel-thc-hid: intel-quicki2c: Add THC QuickI2C ACPI > > interfaces > > > > HID: intel-thc-hid: intel-quicki2c: Add HIDI2C protocol > > implementation > > > > HID: intel-thc-hid: intel-quicki2c: Complete THC QuickI2C > > driver > > > > HID: intel-thc-hid: intel-quicki2c: Add PM implementation > > > > Xinpeng Sun (9): > > > > HID: intel-thc-hid: Add basic THC driver skeleton > > > > HID: intel-thc-hid: intel-thc: Add THC registers definition > > > > HID: intel-thc-hid: intel-thc: Add THC PIO operation APIs > > > > HID: intel-thc-hid: intel-thc: Add APIs for interrupt > > > > HID: intel-thc-hid: intel-thc: Add THC LTR interfaces > > > > HID: intel-thc-hid: intel-thc: Add THC interrupt handler > > > > HID: intel-thc-hid: intel-thc: Add THC SPI config interfaces > > > > HID: intel-thc-hid: intel-quickspi: Add THC QuickSPI driver > > skeleton > > > > HID: intel-thc-hid: intel-quickspi: Complete THC QuickSPI > > driver > > > > Documentation/hid/index.rst | 1 + > > > > Documentation/hid/intel-thc-hid.rst | 568 ++++++ > > > > MAINTAINERS | 6 + > > > > drivers/hid/Kconfig | 2 + > > > > drivers/hid/Makefile | 2 + > > > > drivers/hid/intel-thc-hid/Kconfig | 42 + > > > > drivers/hid/intel-thc-hid/Makefile | 22 + > > > > .../intel-quicki2c/pci-quicki2c.c | 966 ++++++++++ > > > > .../intel-quicki2c/quicki2c-dev.h | 186 ++ > > > > .../intel-quicki2c/quicki2c-hid.c | 166 ++ > > > > .../intel-quicki2c/quicki2c-hid.h | 14 + > > > > .../intel-quicki2c/quicki2c-protocol.c | 224 +++ > > > > .../intel-quicki2c/quicki2c-protocol.h | 20 + > > > > .../intel-quickspi/pci-quickspi.c | 987 +++++++++++ > > > > .../intel-quickspi/quickspi-dev.h | 172 ++ > > > > .../intel-quickspi/quickspi-hid.c | 165 ++ > > > > .../intel-quickspi/quickspi-hid.h | 14 + > > > > .../intel-quickspi/quickspi-protocol.c | 409 +++++ > > > > .../intel-quickspi/quickspi-protocol.h | 25 + > > > > .../intel-thc-hid/intel-thc/intel-thc-dev.c | 1578 > > +++++++++++++++++ > > > > .../intel-thc-hid/intel-thc/intel-thc-dev.h | 116 ++ > > > > .../intel-thc-hid/intel-thc/intel-thc-dma.c | 969 ++++++++++ > > > > .../intel-thc-hid/intel-thc/intel-thc-dma.h | 146 ++ > > > > .../intel-thc-hid/intel-thc/intel-thc-hw.h | 881 +++++++++ > > > > include/linux/hid-over-i2c.h | 117 ++ > > > > include/linux/hid-over-spi.h | 155 ++ > > > > 26 files changed, 7953 insertions(+) > > > > create mode 100644 Documentation/hid/intel-thc-hid.rst > > > > create mode 100644 drivers/hid/intel-thc-hid/Kconfig > > > > create mode 100644 drivers/hid/intel-thc-hid/Makefile > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-dev.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-hid.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-hid.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-protocol.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-protocol.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quickspi/quickspi-dev.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quickspi/quickspi-hid.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quickspi/quickspi-hid.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-thc/intel-thc-dev.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-thc/intel-thc-dev.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-thc/intel-thc-dma.c > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-thc/intel-thc-dma.h > > > > create mode 100644 > > drivers/hid/intel-thc-hid/intel-thc/intel-thc-hw.h > > > > create mode 100644 include/linux/hid-over-i2c.h > > > > create mode 100644 include/linux/hid-over-spi.h > >