Thread (25 messages) 25 messages, 5 authors, 2021-03-04

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

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2021-03-02 08:12:08
Also in: lkml

On 01-03-21, 14:10, Andy Shevchenko wrote:
On Mon, Mar 01, 2021 at 02:09:25PM +0200, Andy Shevchenko wrote:
quoted
On Mon, Mar 01, 2021 at 05:24:41PM +0530, Viresh Kumar wrote:
quoted
On 01-03-21, 14:41, Jie Deng wrote:
quoted
+/**
+ * struct virtio_i2c_req - the virtio I2C request structure
+ * @out_hdr: the OUT header of the virtio I2C message
+ * @write_buf: contains one I2C segment being written to the device
+ * @read_buf: contains one I2C segment being read from the device
+ * @in_hdr: the IN header of the virtio I2C message
+ */
+struct virtio_i2c_req {
+	struct virtio_i2c_out_hdr out_hdr;
+	u8 *write_buf;
+	u8 *read_buf;
+	struct virtio_i2c_in_hdr in_hdr;
+};
I am not able to appreciate the use of write/read bufs here as we
aren't trying to read/write data in the same transaction. Why do we
have two bufs here as well as in specs ?
I²C and SMBus support bidirectional transfers as well. I think two buffers is
the right thing to do.
Strictly speaking "half duplex".
Half duplex is what this driver implemented, i.e. only one side can
send a msg at once, we don't need two buffers for that for sure.

Though we need two buffers if we are ever going to support full
duplex.

-- 
viresh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help