On 12/17/24 4:06 PM, Xu, Even wrote:
-----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)?
Touchscreen function works.
One touch will cause 10 times of this error.
Aaron
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