[PATCH v10 fixup 0/2] ASUS Transformer EC: SL101 keyboard event/response fixes

Florian Krischer posted 2 patches 3 days ago
Only 0 patches received!
drivers/mfd/asus-transformer-ec.c             | 19 +++++++++++++++----
drivers/input/serio/asus-transformer-ec-kbc.c | 16 +++++++++++-----
2 files changed, 26 insertions(+), 9 deletions(-)
[PATCH v10 fixup 0/2] ASUS Transformer EC: SL101 keyboard event/response fixes
Posted by Florian Krischer 3 days ago
Hi,

I tested the v10 ASUS Transformer EC series on a physical ASUS Eee Pad
Slider SL101 while bringing up its built-in sliding keyboard.

The EC probes successfully as:

  Model         : ASUS-EP102-DOCK
  FW version    : SL101-0202
  Config format : ECFG-0001
  HW version    : PCBA-EP102

and the KBC child creates an AT Raw Set 2 serio keyboard, but v10-style
behavior does not complete atkbd initialization on the SL101.

Real-hardware tracing exposed three details:

1. The SL101 EC event window at 0x6a uses the 8-byte SMBus block reads
   found in ASUS's downstream driver. The generic 32-byte event read
   loses the keyboard command-response path on this device.

2. Keyboard command replies can be valid OBF-only packets without
   KEY/KBC set. Non-AUX, non-SMI/SCI OBF responses therefore need to be
   routed to keyboard serio0 so PS/2 ACKs reach atkbd.

3. The observed keyboard reset response is:

     03 09 fa aa

   where 03 counts the following status + payload bytes, 09 is status,
   fa is the PS/2 ACK and aa is BAT success. v9's data[0] - 1 payload
   count matches this framing. v10's data[0] - 2 drops the BAT byte.
   The fix keeps v10's upper-bound check while restoring data[0] - 1.

With these fixes and the SL101 EC DT node at 0x19/0x1b, Linux 6.18.45
boots through RAM-only kexec and the physical sliding keyboard works.

The two patches in this fixup set are intended to be folded into v10
patches 2/7 and 3/7 respectively, rather than merged as a competing
driver series.

The dependent Tegra SL101 DT patch is prepared separately and should be
submitted after/with the EC binding dependency.

Hardware:
  ASUS Eee Pad Slider SL101
  EC model ASUS-EP102-DOCK
  EC firmware SL101-0202

Validation:
  - physical keyboard PASS on real SL101 hardware
  - cleaned MFD and serio objects compile successfully
  - cleaned SL101 DTB compiles successfully
  - checkpatch: 0 errors, 0 warnings

Florian Krischer (2):
  mfd: asus-transformer-ec: use 8-byte event reads on SL101
  input: serio: asus-transformer-ec: fix keyboard response framing

 drivers/mfd/asus-transformer-ec.c             | 19 +++++++++++++++----
 drivers/input/serio/asus-transformer-ec-kbc.c | 16 +++++++++++-----
 2 files changed, 26 insertions(+), 9 deletions(-)

--