Re: [PATCH v10] i2c: virtio: add a virtio i2c frontend driver

Wolfram Sang
2021-06-29T08:27:11Z

[-- Attachment #1: Type: text/plain, Size: 1248 bytes --]

Hi Viresh,

> While we are at it, this has been replaced by a Rust counterpart [1]
> (as that makes it hypervisor agnostic, which is the goal of my work
> here) and I need someone with I2C knowledge to help review it. It
> should be okay even if you don't understand Rust a lot, just review
> this file[2] which is where most of i2c specific stuff lies.

Can't promise I can do this before my holidays, but I will try.

> I am not sure why you say I2C_RDWR isn't supported. The spec and Linux

This is how I interpreted Arnd's response. I said mulitple times that I
might be missing something so I double check.

> SMBUS. To clarify on an earlier point, every virtio transfer may
> contain one or more struct i2c_msg instances, all processed together
> (as expected).

That was the information missing for me so far becasue...

> If you see virtio_i2c_send_reqs() in this patch, you will see that it
> converts a stream of i2c_req messages to their virtio counterparts and
> send them together, consider it a single transaction.

... when I checked virtio_i2c_send_reqs(), I also saw
virtqueue_add_sgs() but I had no idea if this will end up as REP_START
on the physical bus or not. But it definately should.

Thanks for the pointers!

Wolfram

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]