Re: [virtio-dev] Re: [virtio-comment] [PATCH v4] virtio-i2c: add the device specification

2020-11-17 Thread Jie Deng



On 2020/11/17 16:23, Gerd Hoffmann wrote:

On Tue, Nov 17, 2020 at 02:55:14PM +0800, Jie Deng wrote:

On 2020/11/16 16:16, Paolo Bonzini wrote:

On 16/11/20 03:12, Jie Deng wrote:

Fore example, the frontend may kick the sequence "write read read
..." to the backend at a time.

The segments can be aggregated into "i2c_msg list" and sent to the
hardware at a time by the backend.

The host native drivers will finally send these segments using the
methods they support.

If so, the spec needs to specify what the backend must/should/may
aggregate into a single host-side transaction.

What my proposal does is essentially saying that the backend MUST
aggregate a write and a read segment into a single transaction if it is
sent with a single virtio-i2c request.

Paolo


This may depend on the host hardware. I can add a host feature bit to
indicate it.

That is not enough.  You also need that for the transactions.  If the
driver sends a write and a read message the device needs to know
whenever that is one or two transactions.  So if you want continue
with the i2c_msg list idea you need some way to group your messages
into transactions.
Can the "kick" be used for grouping ?  I mean when a write and a read 
are sent
by one kick at a time, they will be treated as one transaction by 
default if the host

has such a feature bit.

Thanks.



Or you go with paolos idea which looks simpler to me.

take care,
   Gerd


-
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org



-
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org



[virtio-dev] Re: [virtio-comment] [PATCH v4] virtio-i2c: add the device specification

2020-11-17 Thread Jie Deng



On 2020/11/17 23:59, Paolo Bonzini wrote:

On 17/11/20 09:23, Gerd Hoffmann wrote:

That is not enough.  You also need that for the transactions.  If the
driver sends a write and a read message the device needs to know
whenever that is one or two transactions.  So if you want continue
with the i2c_msg list idea you need some way to group your messages
into transactions.

Or you go with paolos idea which looks simpler to me.


Yeah, that seems the simplest.  You can also add a flags u32 that must 
be zero, in order to simplify future extensibility.


Paolo


Sure, I will do that. Thank you.

-
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org



[virtio-dev] Re: [virtio-comment] [PATCH v4] virtio-i2c: add the device specification

2020-11-17 Thread Paolo Bonzini

On 17/11/20 09:23, Gerd Hoffmann wrote:

That is not enough.  You also need that for the transactions.  If the
driver sends a write and a read message the device needs to know
whenever that is one or two transactions.  So if you want continue
with the i2c_msg list idea you need some way to group your messages
into transactions.

Or you go with paolos idea which looks simpler to me.


Yeah, that seems the simplest.  You can also add a flags u32 that must 
be zero, in order to simplify future extensibility.


Paolo


-
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org



[virtio-dev] Re: [virtio-comment] [PATCH v4] virtio-i2c: add the device specification

2020-11-17 Thread Gerd Hoffmann
On Tue, Nov 17, 2020 at 02:55:14PM +0800, Jie Deng wrote:
> 
> On 2020/11/16 16:16, Paolo Bonzini wrote:
> > On 16/11/20 03:12, Jie Deng wrote:
> > > Fore example, the frontend may kick the sequence "write read read
> > > ..." to the backend at a time.
> > > 
> > > The segments can be aggregated into "i2c_msg list" and sent to the
> > > hardware at a time by the backend.
> > > 
> > > The host native drivers will finally send these segments using the
> > > methods they support.
> > 
> > If so, the spec needs to specify what the backend must/should/may
> > aggregate into a single host-side transaction.
> > 
> > What my proposal does is essentially saying that the backend MUST
> > aggregate a write and a read segment into a single transaction if it is
> > sent with a single virtio-i2c request.
> > 
> > Paolo
> > 
> This may depend on the host hardware. I can add a host feature bit to
> indicate it.

That is not enough.  You also need that for the transactions.  If the
driver sends a write and a read message the device needs to know
whenever that is one or two transactions.  So if you want continue
with the i2c_msg list idea you need some way to group your messages
into transactions.

Or you go with paolos idea which looks simpler to me.

take care,
  Gerd


-
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org