Re: [Question] When should a driver issue STOP condition?
From: Masahiro Yamada
Date: Fri Aug 31 2018 - 10:40:13 EST
Hi Wolfram,
2018-08-31 18:53 GMT+09:00 Wolfram Sang <wsa@xxxxxxxxxxxxx>:
>
>> The problem is, my driver is forcibly setting
>> STOP condition unless the next message is read.
>
> This likely is a problem.
Oh, my drivers were wrong from the beginning.
I've sent patches.
> In Linux I2C terminology, a transfer is everything between a START and a
> STOP. A transfer may consist of multiple messages, connected with
> REP_START [1].
>
> So, a STOP should be generated after the last message of a transfer or
> of I2C_M_STOP is set in a message.
I see.
I hope this is documented somewhere if it has not been yet.
> The latter should be super-rare
> because mostly you should be able to use multiple transfers with a
> regular STOP instead.
>
> [1] Slide 8 illustrates this:
> http://events17.linuxfoundation.org/sites/events/files/slides/ELCE17-WSang-I2C-Fault-Injector.pdf
Awesome!
I should follow "When to not use bus recovery" check-list.
Thanks.
--
Best Regards
Masahiro Yamada