ALSA: add virtio sound driver
This series implements a driver part of the virtio sound device
specification v8 [1].
The driver supports PCM playback and capture substreams, jack and
channel map controls. A message-based transport is used to write/read
PCM frames to/from a device.
As a device part was used OpenSynergy proprietary implementation.
v7 changes:
- Moved the snd_pcm_period_elapsed() call from the interrupt handler to the
kernel worker for being consistent with the non-atomic mode of the PCM
device.
- Removed SNDRV_PCM_INFO_RESUME flag. Now ops->prepare() sets the parameters
for the substream if it was previously suspended.
- Some additional code readability improvements/comments.
[1] https://lists.oasis-open.org/archives/virtio-dev/202003/msg00185.html
Link: https://lore.kernel.org/r/20210302164709.3142702-1-anton.yakovlev@opensynergy.com