lkml.org 
[lkml]   [2022]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v5 07/10] i2c: npcm: Handle spurious interrupts
On Tue, May 17, 2022 at 06:11:39PM +0800, Tyrone Ting wrote:
> From: Tali Perry <tali.perry1@gmail.com>
>
> On some platforms in rare cases (1 to 100,000 transactions),
> the i2c gets a spurious interrupt which means that we enter an interrupt
> but in the interrupt handler we don't find any status bit that points to
> the reason we got this interrupt.
>
> This may be a case of a rare HW issue or signal integrity issue that is
> still under investigation.
>
> In order to overcome this we are doing the following:
> 1. Disable incoming interrupts in master mode only when slave mode is not
> enabled.
> 2. Clear end of busy (EOB) after every interrupt.
> 3. Clear other status bits (just in case since we found them cleared)
> 4. Return correct status during the interrupt that will finish the
> transaction.
>
> On next xmit transaction if the bus is still busy the master will issue a
> recovery process before issuing the new transaction.
>
> Fixes: 56a1485b102e ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver")
> Signed-off-by: Tali Perry <tali.perry1@gmail.com>
> Signed-off-by: Tyrone Ting <kfting@nuvoton.com>

Applied to for-next, thanks!

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2022-05-21 07:54    [W:0.196 / U:1.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site