Skip to content

NVIDIA Tegra I2C synchronization correction

Dmitry Osipenko linux-i2c linux-tegra lkml 2 versions – Applied

Status from this message: Applied to for-current, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 67 repliesApplied
  2. v12 patches 0 repliesSuperseded

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/2i2c: tegra: Better handle case where CPU0 is busy for a long timedrivers/i2c/busses/i2c-tegra.c+15 -1263 replies
2/2i2c: tegra: Synchronize DMA before terminationdrivers/i2c/busses/i2c-tegra.c+9 -01 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/2] NVIDIA Tegra I2C synchronization correction

Hello,

Recently I found a way to reliably reproduce I2C timeouts that happen due to improper synchronizations made by the I2C driver. It's quite easy to reproduce the problem when memory is running on a lower freq + there is some memory activity + CPU could get busy for a significant time. This is the case when KASAN is enabled and CPU is busy while accessing FS via NFS. This small series addresses the found problems.

Changelog:

v2: - The "Better handle case where CPU0 is busy for a long time" patch
now preserves the old behavior where completion is checked after disabling the interrupt, preventing potential race-condition of the completion awaiting vs interrupt syncing.

Dmitry Osipenko (2):
i2c: tegra: Better handle case where CPU0 is busy for a long time
i2c: tegra: Synchronize DMA before termination

 drivers/i2c/busses/i2c-tegra.c | 36 ++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)
Signature · 1 line
2.25.1