Re: [PATCH v8 1/1] virtio-media: Add virtio media device specification
Albert Esteve <[email protected]>
| Newsgroups | dev.linux.lists.virtio-comment |
|---|---|
| Message-ID | <CADSE00JOBEqiFjAioJxf-PAB-FfSSy+1Z8WMuU9ktyf=dk-1TA@mail.gmail.com> |
On Wed, Jul 9, 2025 at 2:09 PM Albert Esteve <[email protected]> wrote: > > On Wed, Jul 9, 2025 at 11:38 AM Albert Esteve <[email protected]> wrote: > > > > On Wed, Jul 9, 2025 at 11:32 AM Alex Bennée <[email protected]> wrote: > > > > > > Albert Esteve <[email protected]> writes: > > > > > > > On Fri, Mar 14, 2025 at 2:26 PM Alexandre Courbot <[email protected]> wrote: > > > >> > > > >> Hello Albert, > > > >> > > > >> On Tue Mar 4, 2025 at 10:01 PM JST, Albert Esteve wrote: > > > >> > Virtio-media is an encapsulation of the V4L2 UAPI into > > > >> > virtio, able to virtualize any video device supported > > > >> > by V4L2. > > > >> > > > > >> > Note that virtio-media does not require the use of a > > > >> > V4L2 device driver on the host or guest side - > > > >> > V4L2 is only used as a host-guest protocol, > > > >> > and both sides are free to convert it from/to any > > > >> > model that they wish to use. > > > >> > > > >> Thank you for your patience with this. I have done a final pass on this > > > >> version and it looks great to me! > > > >> > > > >> Reviewed-by: Alexandre Courbot <[email protected]> > > > >> > > > > > > > > Thanks! Could we please open a voting ballot for these changes? > > > > > > > > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/214 > > > > > > What was the result of the ballot? > > > > AFAIU the ballot was approved. There were conflicts with the > > virtio-1.4 branch, which may have delayed the integration. I've just > > sent a new version of the patch rebased to virtio-1.4 to try to ease > > the process. > > Adding the diff here on the v8 instead, to avoid having to vote again > on a new patch version. > The diff should allow applying the original v8 patch cleanly to > virtio-1.4. Let me know if this is enough. > > ---- > diff --git a/content.tex b/content.tex > index 59925ae..56b2cb1 100644 > --- a/content.tex > +++ b/content.tex > @@ -100,7 +100,7 @@ \section{Feature Bits}\label{sec:Basic Facilities > of a Virtio Device / Feature B > \item[0 to 23, and 50 to 127] Feature bits for the specific device type > > \item[24 to 41] Feature bits reserved for extensions to the queue and > - feature negotiation mechanisms > + feature negotiation mechanisms, see \ref{sec:Reserved Feature Bits} > > \item[42 to 49, and 128 and above] Feature bits reserved for future extensions. > \end{description} > @@ -493,7 +493,7 @@ \section{Driver Notifications} \label{sec:Basic > Facilities of a Virtio Device / > \section{Exporting Objects}\label{sec:Basic Facilities of a Virtio > Device / Exporting Objects} > > When an object created by one virtio device needs to be > -shared with a seperate virtio device, the first device can > +shared with a separate virtio device, the first device can > export the object by generating a UUID which can then > be passed to the second device to identify the object. > > @@ -503,11 +503,12 @@ \section{Exporting Objects}\label{sec:Basic > Facilities of a Virtio Device / Expo > UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}. > > \input{admin.tex} > +\input{device-parts.tex} > > \chapter{General Initialization And Device > Operation}\label{sec:General Initialization And Device Operation} > > We start with an overview of device initialization, then expand on the > -details of the device and how each step is preformed. This section > +details of the device and how each step is performed. This section > is best read along with the bus-specific section which describes > how to communicate with the specific device. > > @@ -649,7 +650,7 @@ \chapter{Device Types}\label{sec:Device Types} > > Discovering what devices are available and their type is bus-dependent. > > -\begin{tabular} { |l|c| } > +\begin{longtable} { |l|c| } > \hline > Device ID & Virtio Device \\ > \hline \hline > @@ -737,9 +738,17 @@ \chapter{Device Types}\label{sec:Device Types} > \hline > 44 & ISM device \\ > \hline > -45 & SPI master \\ > +45 & SPI controller \\ > \hline > -\end{tabular} > +46 & TEE device \\ > +\hline > +47 & CPU balloon device \\ > +\hline > +48 & Media device \\ > +\hline > +49 & USB controller \\ > +\hline > +\end{longtable} > > Some of the devices above are unspecified by this document, > because they are seen as immature or especially niche. Be warned > @@ -767,6 +776,8 @@ \chapter{Device Types}\label{sec:Device Types} > \input{device-types/scmi/description.tex} > \input{device-types/gpio/description.tex} > \input{device-types/pmem/description.tex} > +\input{device-types/can/description.tex} > +\input{device-types/spi/description.tex} > \input{device-types/media/description.tex} > > \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits} > > diff --git a/conformance.tex b/conformance.tex > index 2564034..0856353 100644 > --- a/conformance.tex > +++ b/conformance.tex > @@ -33,6 +33,9 @@ \section{Conformance Targets}\label{sec:Conformance > / Conformance Targets} > \ref{sec:Conformance / Driver Conformance / I2C Adapter Driver Conformance}, > \ref{sec:Conformance / Driver Conformance / SCMI Driver Conformance}, > \ref{sec:Conformance / Driver Conformance / GPIO Driver Conformance}, > +\ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance}, > +\ref{sec:Conformance / Driver Conformance / CAN Driver Conformance}, > +\ref{sec:Conformance / Driver Conformance / SPI Controller Driver Conformance}, > \ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance} or > \ref{sec:Conformance / Driver Conformance / Media Driver Conformance}. > > @@ -61,7 +64,10 @@ \section{Conformance Targets}\label{sec:Conformance > / Conformance Targets} > \ref{sec:Conformance / Device Conformance / I2C Adapter Device Conformance}, > \ref{sec:Conformance / Device Conformance / SCMI Device Conformance}, > \ref{sec:Conformance / Device Conformance / GPIO Device Conformance}, > -\ref{sec:Conformance / Device Conformance / PMEM Device Conformance} or > +\ref{sec:Conformance / Device Conformance / PMEM Device Conformance}, > +\ref{sec:Conformance / Device Conformance / CAN Device Conformance}, > +\ref{sec:Conformance / Device Conformance / SPI Controller Device Conformance}, > +\ref{sec:Conformance / Device Conformance / PMEM Device Conformance}, > \ref{sec:Conformance / Device Conformance / Media Device Conformance}. > > \item Clause \ref{sec:Conformance / Legacy Interface: > Transitional Device and Transitional Driver Conformance}. > @@ -78,6 +84,7 @@ \section{Conformance Targets}\label{sec:Conformance > / Conformance Targets} > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Reset} > \item \ref{drivernormative:Basic Facilities of a Virtio Device / > Device Configuration Space} > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues} > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / > Virtqueues / Virtqueue Reset / Virtqueue Reset} > \item \ref{drivernormative:Basic Facilities of a Virtio Device / > Message Framing} > \item \ref{drivernormative:Basic Facilities of a Virtio Device / > Virtqueues / The Virtqueue Descriptor Table} > \item \ref{drivernormative:Basic Facilities of a Virtio Device / > Virtqueues / The Virtqueue Descriptor Table / Indirect Descriptors} > @@ -96,6 +103,9 @@ \section{Conformance Targets}\label{sec:Conformance > / Conformance Targets} > \item \ref{drivernormative:General Initialization And Device > Operation / Device Initialization} > \item \ref{drivernormative:General Initialization And Device > Operation / Device Cleanup} > \item \ref{drivernormative:Reserved Feature Bits} > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / > Device groups / Group administration commands / Device and driver > capabilities} > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / > Device groups / Group administration commands / Device resource > objects} > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / > Device groups / Group administration commands / Device parts} > \end{itemize} > > \conformance{\subsection}{PCI Driver > Conformance}\label{sec:Conformance / Driver Conformance / PCI Driver > Conformance} > @@ -154,6 +164,8 @@ \section{Conformance > Targets}\label{sec:Conformance / Conformance Targets} > \input{device-types/scmi/driver-conformance.tex} > \input{device-types/gpio/driver-conformance.tex} > \input{device-types/pmem/driver-conformance.tex} > +\input{device-types/can/driver-conformance.tex} > +\input{device-types/spi/driver-conformance.tex} > \input{device-types/media/driver-conformance.tex} > > \conformance{\section}{Device Conformance}\label{sec:Conformance / > Device Conformance} > @@ -165,6 +177,7 @@ \section{Conformance > Targets}\label{sec:Conformance / Conformance Targets} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Reset} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / > Device Configuration Space} > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / > Virtqueues / Virtqueue Reset / Virtqueue Reset} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / > Message Framing} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / > Virtqueues / The Virtqueue Descriptor Table} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / > Virtqueues / The Virtqueue Descriptor Table / Indirect Descriptors} > @@ -176,6 +189,9 @@ \section{Conformance > Targets}\label{sec:Conformance / Conformance Targets} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / > Packed Virtqueues / Scatter-Gather Support} > \item \ref{devicenormative:Basic Facilities of a Virtio Device / > Shared Memory Regions} > \item \ref{devicenormative:Reserved Feature Bits} > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / > Device groups / Group administration commands / Device and driver > capabilities} > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / > Device groups / Group administration commands / Device resource > objects} > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / > Device groups / Group administration commands / Device parts} > \end{itemize} > > \conformance{\subsection}{PCI Device > Conformance}\label{sec:Conformance / Device Conformance / PCI Device > Conformance} > @@ -241,6 +257,8 @@ \section{Conformance > Targets}\label{sec:Conformance / Conformance Targets} > \input{device-types/scmi/device-conformance.tex} > \input{device-types/gpio/device-conformance.tex} > \input{device-types/pmem/device-conformance.tex} > +\input{device-types/can/device-conformance.tex} > +\input{device-types/spi/device-conformance.tex} > \input{device-types/media/device-conformance.tex} > > \conformance{\section}{Legacy Interface: Transitional Device and > Transitional Driver Conformance}\label{sec:Conformance / Legacy > Interface: Transitional Device and Transitional Driver Conformance} > A cleaner attempt, noticed a duplication of one listed item. Also removed the parts of the diff that caused no collision beforehand. --- diff --git a/content.tex b/content.tex index 59925ae..56b2cb1 100644 --- a/content.tex +++ b/content.tex +\end{longtable} Some of the devices above are unspecified by this document, because they are seen as immature or especially niche. Be warned @@ -767,6 +776,8 @@ \chapter{Device Types}\label{sec:Device Types} \input{device-types/scmi/description.tex} \input{device-types/gpio/description.tex} \input{device-types/pmem/description.tex} +\input{device-types/can/description.tex} +\input{device-types/spi/description.tex} \input{device-types/media/description.tex} \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits} diff --git a/conformance.tex b/conformance.tex index 2564034..85a227f 100644 --- a/conformance.tex +++ b/conformance.tex @@ -33,7 +33,9 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \ref{sec:Conformance / Driver Conformance / I2C Adapter Driver Conformance}, \ref{sec:Conformance / Driver Conformance / SCMI Driver Conformance}, \ref{sec:Conformance / Driver Conformance / GPIO Driver Conformance}, -\ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance} or +\ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance}, +\ref{sec:Conformance / Driver Conformance / CAN Driver Conformance}, +\ref{sec:Conformance / Driver Conformance / SPI Controller Driver Conformance} or \ref{sec:Conformance / Driver Conformance / Media Driver Conformance}. \item Clause \ref{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance}. @@ -61,7 +63,9 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \ref{sec:Conformance / Device Conformance / I2C Adapter Device Conformance}, \ref{sec:Conformance / Device Conformance / SCMI Device Conformance}, \ref{sec:Conformance / Device Conformance / GPIO Device Conformance}, -\ref{sec:Conformance / Device Conformance / PMEM Device Conformance} or +\ref{sec:Conformance / Device Conformance / PMEM Device Conformance}, +\ref{sec:Conformance / Device Conformance / CAN Device Conformance}, +\ref{sec:Conformance / Device Conformance / SPI Controller Device Conformance} or \ref{sec:Conformance / Device Conformance / Media Device Conformance}. \item Clause \ref{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance}. @@ -154,6 +162,8 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \input{device-types/scmi/driver-conformance.tex} \input{device-types/gpio/driver-conformance.tex} \input{device-types/pmem/driver-conformance.tex} +\input{device-types/can/driver-conformance.tex} +\input{device-types/spi/driver-conformance.tex} \input{device-types/media/driver-conformance.tex} \conformance{\section}{Device Conformance}\label{sec:Conformance / Device Conformance} @@ -241,6 +255,8 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets} \input{device-types/scmi/device-conformance.tex} \input{device-types/gpio/device-conformance.tex} \input{device-types/pmem/device-conformance.tex} +\input{device-types/can/device-conformance.tex} +\input{device-types/spi/device-conformance.tex} \input{device-types/media/device-conformance.tex} \conformance{\section}{Legacy Interface: Transitional Device and Transitional Driver Conformance}\label{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance} > > > > > > > > -- > > > Alex Bennée > > > Virtualisation Tech Lead @ Linaro > > >