From: Jean Delvare <khali@linux-fr.org>
To: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: "Ben Dooks (embedded platforms)" <ben-linux@fluff.org>,
Wolfram Sang <w.sang@pengutronix.de>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: i2c-i801 retries on lost arbitration (resent: no gpg)
Date: Fri, 30 Apr 2010 11:48:22 +0200 [thread overview]
Message-ID: <20100430114822.1a5e0cf9@hyperion.delvare> (raw)
In-Reply-To: <20100430094412.GC3553@swordfish.minsk.epam.com>
Hi Sergey,
On Fri, 30 Apr 2010 12:44:12 +0300, Sergey Senozhatsky wrote:
> Soory, forgot to turn-off gpg.
gpg is fine.
> Both i2c spec and ICH7 datasheet requires to restart transaction in
> case of lost arbitration.
>
> "No information is lost during the arbitration process. A master that
> loses the arbitration can generate clock pulses until the end of the
> byte in which it loses the arbitration and must restart its transaction
> when the bus is idle."
>
> Please see the following patch. Is it correct?
No, it's not. As you wrote above, this is not specific to the Intel ICH
but a general I2C issue. As such it must be handled in i2c-core and not
by individual drivers. And as a matter of fact, it is already handled.
Look at functions i2c_transfer and i2c_smbus_xfer in i2c-core.c, see
the comments "Retry automatically on arbitration loss", the code is
already there. It's just a matter of bus drivers properly setting
adapter->retries (which i2c-i801.c does already.)
So I don't know which kernel you're using, but with the latest upstream
kernel, things should work just fine already.
--
Jean Delvare
next prev parent reply other threads:[~2010-04-30 9:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-30 9:44 i2c-i801 retries on lost arbitration (resent: no gpg) Sergey Senozhatsky
2010-04-30 9:44 ` Sergey Senozhatsky
2010-04-30 9:48 ` Jean Delvare [this message]
2010-04-30 10:07 ` Sergey Senozhatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100430114822.1a5e0cf9@hyperion.delvare \
--to=khali@linux-fr.org \
--cc=ben-linux@fluff.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=w.sang@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.