[RFC] i2c: Providing hooks for i2c multimaster bus arbitration.

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Tue Feb 12 11:48:11 EST 2013


Hello Ben,

On Tue, Feb 12, 2013 at 10:49:29AM +0000, Ben Dooks wrote:
> On 10/02/13 18:17, Wolfram Sang wrote:
> >On Mon, Feb 04, 2013 at 02:33:15PM +0530, Yuvaraj Kumar C D wrote:
> >>This RFC patch is w.r.t multimaster bus arbitration which is already
> >>being discussing in the mainline.
> >>This patch provides hooks for the i2c multimaster bus arbitration
> >>and to have the arbitration parameters.
> >
> >I still haven't understood why the arbitration specified in the I2C
> >standard is not enough for you. Or what you would need to make use of
> >it.
> 
> I am a little concerned as there is no way to actually lock a bus to
> stop another master from transmitting. You can get collisions in a
> multi-master environment. Drivers need fixing to deal with collisions
> and let the sender know the operation has failed.
In theory everything should just work. If a master send a Start, the bus
is actually locked and other masters must wait until Stop. If two
masters start concurrently one master just looses arbitration and the
winning master's transfer isn't corrupted. So client drivers don't need
adaption and master drivers "only" need to handle arbitration and
synchronization (which they should already now :-)

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list