Re: [PATCH v3 09/11] i2c: rcar: revoke START request early

Wolfram Sang
2016-03-31T22:48:48Z

[-- Attachment #1: Type: text/plain, Size: 1272 bytes --]

On Fri, Apr 01, 2016 at 12:02:56AM +0300, Sergei Shtylyov wrote:
> Hello.
>
> On 11/19/2015 06:56 PM, Wolfram Sang wrote:
>
> >From: Wolfram Sang <wsa+renesas@sang-engineering.com>
> >
> >If we don't clear START generation as soon as possible, it may cause
> >another message to be generated, e.g. when receiving NACK in address
> >phase. To keep the race window as small as possible, we clear it right
> >at the beginning of the interrupt. We don't need any checks since we
> >always want to stop START and STOP generation on the next occasion after
> >we started it.
> >
> >This patch improves the situation but sadly does not completely fix it.
> >It is still to be researched if we can do better given this HW design.
> >
> >Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
>
> Thanks for a great work, Wolfram!
> We need this patch in -stable kernels. The R-Car audio just doesn't work
> without it...

Really only this patch? IIRC my tests showed that if you don't remove
the spinlocks (patch 4), the interrupt latency will already be too high
again. In any case, you'd need to do some careful backporting to rip
this out of the whole refactoring series. But maybe you did that already
and have good experiences?