From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Felix Rubinstein <felixru-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Intel ICHx bus driver
Date: Thu, 28 Jan 2010 08:59:04 +0100 [thread overview]
Message-ID: <20100128085904.4e202de1@hyperion.delvare> (raw)
In-Reply-To: <af0693f01001270956h781f2832r928364574d3406aa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Felix,
On Wed, 27 Jan 2010 19:56:02 +0200, Felix Rubinstein wrote:
> Running i2cdetect on ICH9 says:
> "I2C Block Write yes"
>
> But having a closer look at how the whole thing is implemented proves
> that no i2c block write is supported.
>
> The proof:
> 1. i801_probe turns i801_features to FEATURE_I2C_BLOCK_READ
Yes it does, but this is totally unrelated to I2C block _writes_.
> 2. as a sequence in i801_block_transaction
> i801_block_transaction_byte_by_byte is called
No. Read the code again, for the ICH9, i801_block_transaction_by_block
is called, not i801_block_transaction_byte_by_byte.
> 3. on the other hand i801_block_transaction_byte_by_byte does
> if (read_write == I2C_SMBUS_WRITE)
> outb_p(len, SMBHSTDAT0);
> meaning SMBus length.
This is correct, and as a matter of fact,
i801_block_transaction_by_block does the same. And this is the right
thing to do: the SMBus controller must know how many bytes it must send
to the target slave.
> But what if I want to write I2C's multi-block (without length or even
> command before)?
I have no idea what you mean with "I2C's multi-block". Please be
specific.
> I cannot understand why i801_func turns on I2C_FUNC_SMBUS_WRITE_I2C_BLOCK?
Because it supports that transaction type. Why would you want it to not
advertise a transaction type it supports?
Please refer to Documentation/i2c/smbus-protocol for what exactly each
supported transaction type is doing at the wire level.
--
Jean Delvare
http://khali.linux-fr.org/wishlist.html
next prev parent reply other threads:[~2010-01-28 7:59 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-27 17:56 Intel ICHx bus driver Felix Rubinstein
[not found] ` <af0693f01001270956h781f2832r928364574d3406aa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-01-28 7:59 ` Jean Delvare [this message]
[not found] ` <20100128085904.4e202de1-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-01-28 9:32 ` Felix Rubinstein
[not found] ` <af0693f01001280132l4002af0fgf3137fa27ce8555e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-01-28 9:53 ` Jean Delvare
[not found] ` <20100128105340.41aecf64-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-01-28 12:46 ` Felix Rubinstein
[not found] ` <af0693f01001280446u66923c70ld707d10b9fcee068-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-01-28 13:29 ` Jean Delvare
[not found] ` <af0693f01002182310i6678e4b5h80feb14b24b37742@mail.gmail.com>
[not found] ` <af0693f01002182310i6678e4b5h80feb14b24b37742-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-19 9:58 ` Jean Delvare
[not found] ` <20100219105841.2bd8b16c-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-02-22 16:12 ` Felix Rubinstein
[not found] ` <af0693f01002220812n5a6060cejc00d1ebbd7b9424d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-22 21:58 ` Jean Delvare
[not found] ` <af0693f01002231521q4f99eb63ocd607670625fadfa@mail.gmail.com>
[not found] ` <af0693f01002231521q4f99eb63ocd607670625fadfa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-24 12:01 ` Felix Rubinstein
[not found] ` <af0693f01002240401g1aeaf840ld06a156a06be9dbf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-02 21:22 ` Jean Delvare
[not found] ` <20100302222203.1eb67c3a-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-03 16:36 ` Felix Rubinstein
2010-03-03 16:59 ` Jean Delvare
2010-02-28 11:08 ` Jean Delvare
[not found] ` <20100228120817.275ef279-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-02-28 13:45 ` Felix Rubinstein
[not found] ` <af0693f01002280545n622b1c41v1f8c104e57fb51b6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-28 20:19 ` Jean Delvare
[not found] ` <20100228211949.3297a0ff-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-02 12:53 ` Felix Rubinstein
[not found] ` <af0693f01003020453m7ca6891bjca4833c7fa45f44d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-12 13:19 ` Jean Delvare
[not found] ` <20100312141901.04299a55-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-12 16:24 ` Jean Delvare
[not found] ` <20100312172421.5b4907e6-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-15 9:43 ` Felix Rubinstein
[not found] ` <af0693f01003150243u4d4d76e7t71b37ecd452896ea-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-15 10:06 ` Jean Delvare
[not found] ` <20100315110645.1df3e4f0-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-15 11:12 ` Felix Rubinstein
[not found] ` <af0693f01003150412p5823d8e0j678b035b1c7cc4bb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-15 11:46 ` Jean Delvare
[not found] ` <20100315124648.6dafae21-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-15 13:12 ` Felix Rubinstein
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=20100128085904.4e202de1@hyperion.delvare \
--to=khali-puyad+kwke1g9huczpvpmw@public.gmane.org \
--cc=felixru-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/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.