]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: fix i2c-sh_mobile timing issues
authorMagnus Damm <damm@igel.co.jp>
Wed, 27 Aug 2008 09:33:56 +0000 (18:33 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 5 Sep 2008 05:54:13 +0000 (14:54 +0900)
commit2f757204ff18677dd2059f1e5eafa21a42f29421
treeb1c94bcc53924b6a90c3ed82ea645bfa482c923f
parent88361235fd29baff58c9bcc3c51c83c5adeffe5d
i2c: fix i2c-sh_mobile timing issues

This patch teaches the i2c-sh_mobile driver to make use of wait irqs.
Without this patch only dte irqs are used which may lead to overruns
and cases of missing stop and extra bytes being read on the i2c bus.

Use of wait irqs forces the hardware to pause and wait until the cpu
is ready. Polling is also reworked in this patch to fix ms delay issues.

Verified with bus analyzer and tested on MigoR and AP325RXA boards.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/i2c/busses/i2c-sh_mobile.c