Re: [PATCH v10] i2c: virtio: add a virtio i2c frontend driver
From: Viresh Kumar
Date: Thu Jul 22 2021 - 22:28:42 EST
Hi Wolfram,
On 22-07-21, 17:15, Wolfram Sang wrote:
> Nope, I think you misinterpreted that. SMBUS_QUICK will not send any
> byte. After the address phase (with the RW bit as data), a STOP will
> immediately follow. len = 0 will ensure that.
>
> msgbuf0[0] is set to 'command' because every mode except SMBUS_QUICK
> will need that. So, it is convenient to always do it. For SMBUS_QUICK
> it is superfluous but does not hurt.
Yeah, I think I was confused by this stuff.
> > If so, it would be difficult to implement this with the current i2c virtio
> > specification, as the msg.len isn't really passed from guest to host, rather it
> > is inferred using the length of the buffer itself. And so we can't really pass a
> > buffer if length is 0.
>
> And you can't leave out the buffer and assume len = 0 then?
Would need a spec update, which I am going to send.
We would also need another update to spec to make the Quick thing
working. Lemme do it separately and we merge the latest version of the
driver for linux-next until then.
I checked the code with i2cdetect -q and it worked fine, I was
required to do some changes to the backend (and spec) to make it work.
I will propose the changes to the spec first for the same.
--
viresh