Data block transactions fail on i2c-i801 controller?

Jean Delvare khali at linux-fr.org
Thu Sep 23 10:50:45 CEST 2004


On Wed, 22 Sep 2004 18:16:11 -0400, Mark M. Hoffman wrote
> The i2c-i801 driver has *major* brain damage w.r.t. block xfers. 
>  What I *expected* to see in your logs was a timeout of some sort,
> indicating that the bus was not resetting properly after a xfer.
> 
> Not even close: the bus driver is actually performing a whole block xfer
> once for each byte!!!  Seeing this, I wouldn't be suprised to find 
> out that you are the very first user of that function, ever.  I am honestly
> amazed that it works at all.
> 
> So I understand what needs to be done, but actually fixing it is not
> high on my list just now - especially since you have a workaround
> (disable_block=1).
> 
> One reason this will take some time is that this driver supports several
> different chipsets.  Apparently some of them have a block xfer buffer
> and some don't; I would have to read through ~5 chipset datasheets to
> sort it out.  This is one reason I was hoping the original authors would
> get involved.

I am not the original author but a user of the i2c-i801 driver. My laptop has
an ICH3-M chip on-board. It has a couple EEPROMs attached, with which I have
been playing a lot at some time. It seemed to work well, and I think that the
eeprom driver uses block transfer when available. I may do any kind of test on
my chip, either with the current 2.4 and 2.6 drivers or with patches from you
applied, you just have to ask.

Thanks.

-- 
Jean Delvare
http://khali.linux-fr.org/



More information about the lm-sensors mailing list