Thread (9 messages) 9 messages, 3 authors, 2013-05-29

[I2C] informations + advice about messages handling

From: Jean Delvare <hidden>
Date: 2013-05-24 12:10:38
Also in: linux-i2c, lkml

On Fri, 24 May 2013 16:29:36 +0530, anish singh wrote:
On Fri, May 24, 2013 at 1:14 PM, Jean Delvare [off-list ref] wrote:
quoted
On Fri, 24 May 2013 12:52:40 +0530, anish singh wrote:
quoted
http://thread.gmane.org/gmane.linux.kernel/1410276
This is for a specific case. The general case is handled by the
per-adapter mutex for years now. 2.6.32 should be just fine in this
respect.
I may be mis-understanding here but when two client wants to
communicate with same master and at the same
time how does that happen?
In general clients (slaves in I2C terminology) do not initiate
transactions, it's the master's job.
In the thread I mentioned client pulls the line low indicating that
it wants to own the bus and waits for some time and then checks
if the line is still low or not.If it is still low then it owns the bus
and start transaction and if clients see otherwise it releases the
bus and tries again after some time.How is that handled in the
previous kernel?
That particular scenario is not handled by earlier kernels, but this is
a very special case. In most cases (including Myl?ne's as far as I can
see) it is not needed because there is a single master on the segment.
And even with multiple masters, I2C bus arbitration normally takes place
transparently. Only when the standard bus arbitration can't work for
some reason, the code you mentioned is needed.

-- 
Jean Delvare
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help