Linux GPIO subsystem development
 help / color / mirror / Atom feed
* [PATCH v3 0/1] i2c: designware: fix probe ordering for AMD GPIO on Lenovo Yoga 7 14AGP11
@ 2026-05-15 16:15 Hardik Prakash
  2026-05-15 16:15 ` [PATCH v3 2/2] " Hardik Prakash
  2026-05-15 17:34 ` [PATCH v3 0/1] " Mario Limonciello
  0 siblings, 2 replies; 3+ messages in thread
From: Hardik Prakash @ 2026-05-15 16:15 UTC (permalink / raw)
  To: linux-i2c
  Cc: linux-gpio, wsa, andriy.shevchenko, mario.limonciello, brgl,
	basavaraj.natikar, linus.walleij, Hardik Prakash

The Wacom WACF2200 touchscreen on the Lenovo Yoga 7 14AGP11 (83TD) is
non-functional on Linux due to two bugs. Patch 1 (pinctrl-amd GPIO IRQ
fix) has already been taken into Linus Walleij's tree. This v3 resend
covers patch 2 only, addressing Andy Shevchenko's formatting feedback.

Root cause: i2c_designware probes AMDI0010:02 before pinctrl-amd's
probe completes, so GPIO 157 (WACF2200 GpioInt per ACPI _CRS) has its
interrupt bits cleared when the first I2C transaction is attempted,
causing lost arbitration errors. The udev rebind workaround (which
works because pinctrl-amd has finished by userspace time) confirms
probe ordering as the root cause.

Note: the dual-master hypothesis raised by Mario Limonciello was
investigated. TPNL's _DSM (UUID 3cdff6f7-4267-4555-ad05-b30a3d8938de)
is a pure query method returning a constant HID descriptor address with
no side effects, making firmware acting as secondary I2C master unlikely
on this hardware. Awaiting Mario and Bart's technical verdict before
any further approach changes.

v3:
 - Patch 2 only (patch 1 already in Linus Walleij's tree)
 - Fix variable declaration style in dw_i2c_needs_amd_gpio_dep (Andy Shevchenko)
 - Add BugLink tag (Andy Shevchenko)
 - Add -v3 subject versioning (Andy Shevchenko)
 - CC AMD engineers (Andy Shevchenko)

v2:
 - Replace custom HID/UID lookup with acpi_dev_get_first_match_dev() (Andy Shevchenko)
 - Use acpi_get_first_physical_node() for platform device lookup
 - Use device_is_bound() under device_lock() with explanatory comments
 - Fix dev_warn to use dev_name() instead of hardcoded suffix
 - Fix commit message (removed incorrect "existing" reference)
 - Add Assisted-by tags per coding-assistants.rst

Kernel bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=221494
Related: https://bugzilla.kernel.org/show_bug.cgi?id=221454

Hardik Prakash (1):
  i2c: designware: fix probe ordering for AMD GPIO on Lenovo Yoga 7
    14AGP11

 drivers/i2c/busses/i2c-designware-platdrv.c | 77 +++++++++++++++++++++
 1 file changed, 77 insertions(+)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-15 17:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-15 16:15 [PATCH v3 0/1] i2c: designware: fix probe ordering for AMD GPIO on Lenovo Yoga 7 14AGP11 Hardik Prakash
2026-05-15 16:15 ` [PATCH v3 2/2] " Hardik Prakash
2026-05-15 17:34 ` [PATCH v3 0/1] " Mario Limonciello

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox