Document:
03659: Resolve Issue #112: i2c: Allow buffer less transactions

Draft (A preliminary unapproved sketch, outline, or version.)

Details

Submitted By Mr. Michael S. Tsirkin on 2021-10-28 11:10 am UTC

Publication Type

None at this time.

Group / Folder

OASIS Virtual I/O Device (VIRTIO) TC / System Ballot Results

Modified by

Not modified.

Copy

This document is not a copy.

Technical Contact

None at this time.

Download Count

175

Download Agreement

None at this time.

Description

Please vote Yes if you agree with all of the following. If you disagree, please vote No. If you don't have an opinion, please vote Abstain. I move that: The TC agrees to resolve the following specification issue: Issue #112: i2c: Allow buffer less transactions -------------------------------------- The I2C protocol allows zero-length requests with no data, like the SMBus Quick command, where the command is inferred based on the read/write flag itself. In order to allow such a request, allocate another bit, VIRTIO_I2C_FLAGS_M_RD(1), in the flags to pass the request type, as read or write. This was earlier done using the read/write permission to the buffer itself. This still won't work well if multiple buffers are passed for the same request, i.e. the write-read requests, as the VIRTIO_I2C_FLAGS_M_RD flag can only be used with a single buffer. Coming back to it, there is no need to send multiple buffers with a single request. All we need, is a way to group several requests together, which we can already do based on the VIRTIO_I2C_FLAGS_FAIL_NEXT flag. Remove support for multiple buffers within a single request. Add a new feature flag for zero length requests and make it mandatory for it to be implemented, so we don't need to drag the old implementation around. Here is the patch to update spec: https://lists.oasis-open.org/archives/virtio-dev/202110/msg00109.html -------------------------------------- The TC accepts the following proposed changes to the specification: -------------------------------------- https://lists.oasis-open.org/archives/virtio-dev/202110/msg00109.html -------------------------------------- The TC agrees to include the above change(s) in specification version(s) "virtio-v1.2-cs01", and future versions of the specification. -------------------------------------- Reminder: A Voting Member must be active in a TC to maintain voting rights. As the Virtio TC has adopted a standing rule to conduct business only by electronic ballot, without Meetings, a Voting Member who fails to cast a ballot in two consecutive Work Product Ballots loses his or her voting rights at the close of the second ballot missed. --------------------------------------