Repository navigation
HID: dockchannel-hid: settle 50 ms after releasing the AFE reset - #1083
Conversation
RyanTheTide
left a comment
There was a problem hiding this comment.
Merge-train pre-review (11-08). It isn't on our merge list yet, so a maintainer decides. The settle wait looks right. The new dev_info on every AFE reset assert/release logs on each power transition (open/close, suspend/resume), which adds lines to every boot and sleep log; we keep boot logs clean. Could it be dev_dbg, keeping the dev_err on failure?
Power method 2 with a host-driven AFE reset releases the line for a power-on and sends HasChanged immediately. The sequence validated on the J716s (MacBook Pro 16-inch, M5 Pro, MTP firmware 6320.86.1; "Touch MT ready" on 3 of 3 boots, with the reset on SMC gp1c, active low) waits 50 ms after the release before HasChanged, as this driver already does for a firmware-managed reset. Do the same for the host-driven line. Log a failure to drive the line as an error. Each assert and release is logged at debug level only, so dynamic debug can trace the line without adding a message to the boot log on every power transition. Signed-off-by: Rolando Trevino <rolotrealanis@gmail.com> Assisted-by: LLM Claude
227703b to
00768a7
Compare
|
Good point. In v2 (00768a7) the assert/release line is That is the only code change; the 50 ms settle is the same. |
|
Tested before merging, silent: one-shot test kernel 7.3.0-aurora-f4mtr3x/y = integration/aurora 36d9198 plus this PR, #1082, #1083, #1084, #1060 and the Touch ID series, all merged onto the current tip. It was booted once on each of the four fleet Macs (M2 J413, M1 Pro J316s, J616s M4 Pro, MacBook Neo J700), and our regression suite was compared with the fleet30 rows on the same Macs:
For this PR in particular: dockchannel HID came up as before on the M2, the J616s and the Neo, with no dockchannel-hid warnings or errors and no change in boot or resume timing beyond the added 50 ms settle. Thank you, Rolando! |
With power method 2 and a host-driven AFE reset the driver releases the line and sends HasChanged at once. On the J716s (MacBook Pro 16-inch, M5 Pro; MTP firmware 6320.86.1; reset on SMC gp1c, active low) the trackpad only came up reliably with a 50 ms settle after the release, which the driver already waits for a firmware-managed reset. This adds the same wait to the host-driven path.
It also logs assert and release at info level (and a failure to drive the line as an error), so a boot log shows whether the reset ran at all.
Tested on: J716s: "Touch MT ready" on 3 of 3 boots when introduced (round R3-R), and on every boot since; R3-SERIES and R3-S (2026-11-07): "Touch MT ready" at 1.34 s, multi-touch working.
dockchannel-hid.obuilds clean withW=1onintegration/aurora7aee01a.Dependencies: none to build. Applies on its own and on top of #491. On hardware the J716s reset line is the SMC's second GPIO bank (described in the J716s DT PR).
Reviewers: authors of 6a411d0 (power method 2) and 3661ab4 (firmware-managed M5 trackpad power).
Open questions:
dev_dbg?