Skip to content

Commit

Permalink
virtio-snd: add virtio sound device specification
Browse files Browse the repository at this point in the history
This patch proposes virtio specification for a new virtio sound device,
that may be useful in case when having audio is required but a device
passthrough or emulation is not an option.

Fixes: #54
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
heneko-de authored and mstsirkin committed Sep 1, 2020
1 parent 089bc59 commit e73c8cd
Show file tree
Hide file tree
Showing 4 changed files with 841 additions and 3 deletions.
33 changes: 30 additions & 3 deletions conformance.tex
Expand Up @@ -15,7 +15,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
\begin{itemize}
\item Clause \ref{sec:Conformance / Driver Conformance}.
\item One of clauses \ref{sec:Conformance / Driver Conformance / PCI Driver Conformance}, \ref{sec:Conformance / Driver Conformance / MMIO Driver Conformance} or \ref{sec:Conformance / Driver Conformance / Channel I/O Driver Conformance}.
\item One of clauses \ref{sec:Conformance / Driver Conformance / Network Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Block Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Console Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Entropy Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Traditional Memory Balloon Driver Conformance}, \ref{sec:Conformance / Driver Conformance / SCSI Host Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Input Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Crypto Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance} or \ref{sec:Conformance / Driver Conformance / IOMMU Driver Conformance}.
\item One of clauses \ref{sec:Conformance / Driver Conformance / Network Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Block Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Console Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Entropy Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Traditional Memory Balloon Driver Conformance}, \ref{sec:Conformance / Driver Conformance / SCSI Host Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Input Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Crypto Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance}, \ref{sec:Conformance / Driver Conformance / IOMMU Driver Conformance} or \ref{sec:Conformance / Driver Conformance / Sound Driver Conformance}.
\item Clause \ref{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance}.
\end{itemize}
\item[Device] A device MUST conform to four conformance clauses:
Expand All @@ -32,8 +32,9 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
\ref{sec:Conformance / Device Conformance / Input Device Conformance},
\ref{sec:Conformance / Device Conformance / Crypto Device Conformance},
\ref{sec:Conformance / Device Conformance / Socket Device Conformance},
\ref{sec:Conformance / Device Conformance / RPMB Device Conformance} or
\ref{sec:Conformance / Device Conformance / IOMMU Device Conformance}.
\ref{sec:Conformance / Device Conformance / RPMB Device Conformance},
\ref{sec:Conformance / Device Conformance / IOMMU Device Conformance} or
\ref{sec:Conformance / Device Conformance / Sound Device Conformance}.
\item Clause \ref{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance}.
\end{itemize}
\end{description}
Expand Down Expand Up @@ -220,6 +221,18 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
\item \ref{drivernormative:Device Types / IOMMU Device / Device operations / Fault reporting}
\end{itemize}

\conformance{\subsection}{Sound Driver Conformance}\label{sec:Conformance / Driver Conformance / Sound Driver Conformance}

A sound driver MUST conform to the following normative statements:

\begin{itemize}
\item \ref{drivernormative:Device Types / Sound Device / Device Initialization}
\item \ref{drivernormative:Device Types / Sound Device / Item Information Request}
\item \ref{drivernormative:Device Types / Sound Device / Device Operation / PCM Stream Parameters}
\item \ref{drivernormative:Device Types / Sound Device / Device Operation / PCM Output Stream}
\item \ref{drivernormative:Device Types / Sound Device / Device Operation / PCM Input Stream}
\end{itemize}

\conformance{\section}{Device Conformance}\label{sec:Conformance / Device Conformance}

A device MUST conform to the following normative statements:
Expand Down Expand Up @@ -408,6 +421,20 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
\item \ref{devicenormative:Device Types / IOMMU Device / Device operations / Fault reporting}
\end{itemize}

\conformance{\subsection}{Sound Device Conformance}\label{sec:Conformance / Device Conformance / Sound Device Conformance}

A sound device MUST conform to the following normative statements:

\begin{itemize}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / Jack Information}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / PCM Stream Information}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / PCM Stream Parameters}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / PCM Stream Release}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / PCM Output Stream}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / PCM Input Stream}
\item \ref{devicenormative:Device Types / Sound Device / Device Operation / Channel Map Information}
\end{itemize}

\conformance{\section}{Legacy Interface: Transitional Device and Transitional Driver Conformance}\label{sec:Conformance / Legacy Interface: Transitional Device and Transitional Driver Conformance}
A conformant implementation MUST be either transitional or
non-transitional, see \ref{intro:Legacy
Expand Down
1 change: 1 addition & 0 deletions content.tex
Expand Up @@ -6062,6 +6062,7 @@ \subsubsection{Legacy Interface: Framing Requirements}\label{sec:Device
\input{virtio-fs.tex}
\input{virtio-rpmb.tex}
\input{virtio-iommu.tex}
\input{virtio-sound.tex}

\chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}

Expand Down
3 changes: 3 additions & 0 deletions introduction.tex
Expand Up @@ -66,6 +66,9 @@ \section{Normative References}\label{sec:Normative References}
\phantomsection\label{intro:eMMC}\textbf{[eMMC]} &
eMMC Electrical Standard (5.1), JESD84-B51,
\newline\url{http://www.jedec.org/sites/default/files/docs/JESD84-B51.pdf}\\
\phantomsection\label{intro:HDA}\textbf{[HDA]} &
High Definition Audio Specification,
\newline\url{https://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification.pdf}\\

\end{longtable}

Expand Down

0 comments on commit e73c8cd

Please sign in to comment.