Hi, This series adds a few fixes/improvements to the error recovery for Apple/PASemi i2c controllers. The patches have been in our downstream tree and were originally used to debug a rare glitch caused by clock strechting but are useful in general. We haven't seen the controller misbehave since adding these.
Best, Sven Signed-off-by: Sven Peter <s...@svenpeter.dev> --- Changes in v3: - dev_err instead of dev_warn for errors - Added PASEMI_ prefix to the timeout define - Declared new variables in the innermost scope they're used - Re-added a dev_err that was dropped by mistake - Removed already applied commits - Removed open-coded readx_poll_timeout in the non-irq path - Reorder commits - Link to v2: https://lore.kernel.org/r/20250415-pasemi-fixes-v2-0-c543bf531...@svenpeter.dev Changes in v2: - Added commit to use the correct include (bits.h instead of bitfield.h) - Added commit to sort includes - Moved timeout explanations to code instead of just the commit log - Made timeout recovery also work correctly in the interrupt case when waiting for the condition failed - Used readx_poll_timeout instead of open-coded alternative - Link to v1: https://lore.kernel.org/r/20250222-pasemi-fixes-v1-0-d7ea33d50...@svenpeter.dev --- Hector Martin (3): i2c: pasemi: Enable the unjam machine i2c: pasemi: Improve error recovery i2c: pasemi: Log bus reset causes Sven Peter (1): i2c: pasemi: Improve timeout handling drivers/i2c/busses/i2c-pasemi-core.c | 107 ++++++++++++++++++++++++++++------- 1 file changed, 88 insertions(+), 19 deletions(-) --- base-commit: 7cfa6946c58989507a52f38a1267faa74a65ab0e change-id: 20250220-pasemi-fixes-916cb77404ba Best regards, -- Sven Peter <s...@svenpeter.dev>