hw/audio/Kconfig | 5 + hw/audio/meson.build | 1 + hw/audio/trace-events | 14 + hw/audio/virtio-snd.c | 1241 ++++++++++++++++++++++++++++++++ hw/virtio/meson.build | 1 + hw/virtio/virtio-snd-pci.c | 72 ++ include/hw/virtio/virtio-snd.h | 383 ++++++++++ 7 files changed, 1717 insertions(+) create mode 100644 hw/audio/virtio-snd.c create mode 100644 hw/virtio/virtio-snd-pci.c create mode 100644 include/hw/virtio/virtio-snd.h
The second RFC for implementing the VirtIO Sound card as described in the virtio specs. Sorry for the absence of activity on this. The output from the sound card works. What remains to be done: - Features defined in PCM features. (Eg message polling) - Channel maps - Jack remaps - Input I will work on the input after I have implemented the output along with all the features since at that point it should just be a matter of reversing a few things in the code that writes the audio. I can work on this patchset mostly on weekends now but I will try to be more regular with this. Reviews are welcome :) Shreyansh Chouhan (25): virtio-snd: Add virtio sound header file virtio-snd: Add jack control structures virtio-snd: Add PCM control structures virtio-snd: Add chmap control structures virtio-snd: Add device implementation structures virtio-snd: Add PCI wrapper code for VirtIOSound virtio-snd: Add properties for class init virtio-snd: Add code for get config function virtio-snd: Add code for the realize function virtio-snd: Add macros for logging virtio-snd: Add control virtqueue handler virtio-snd: Add VIRTIO_SND_R_JACK_INFO handler virtio-snd: Add stub for VIRTIO_SND_R_JACK_REMAP handler virtio-snd: Add VIRTIO_SND_R_PCM_INFO handler virtio-snd: Add VIRITO_SND_R_PCM_SET_PARAMS handle virtio-snd: Add VIRTIO_SND_R_PCM_PREPARE handler virtio-snd: Add default configs to realize fn virtio-snd: Add callback for SWVoiceOut virtio-snd: Add start/stop handler virtio-snd: Add VIRTIO_SND_R_PCM_RELEASE handler virtio-snd: Replaced goto with if else virtio-snd: Add code to device unrealize function virtio-snd: Add xfer handler virtio-snd: Add event vq and a handler stub virtio-snd: Replaced AUD_log with tracepoints hw/audio/Kconfig | 5 + hw/audio/meson.build | 1 + hw/audio/trace-events | 14 + hw/audio/virtio-snd.c | 1241 ++++++++++++++++++++++++++++++++ hw/virtio/meson.build | 1 + hw/virtio/virtio-snd-pci.c | 72 ++ include/hw/virtio/virtio-snd.h | 383 ++++++++++ 7 files changed, 1717 insertions(+) create mode 100644 hw/audio/virtio-snd.c create mode 100644 hw/virtio/virtio-snd-pci.c create mode 100644 include/hw/virtio/virtio-snd.h -- 2.31.1
Hi Shreyansh, On Fri, Feb 11, 2022 at 11:18 PM Shreyansh Chouhan <chouhan.shreyansh2702@gmail.com> wrote: > > The second RFC for implementing the VirtIO Sound card as described in > the virtio specs. Sorry for the absence of activity on this. Thanks for starting working on virtio-sound device for QEMU! I'm interested in completing this work, but first I wanted to know if you are still working on it or have any new updates. Thanks, Stefano > > The output from the sound card works. > > What remains to be done: > - Features defined in PCM features. (Eg message polling) > - Channel maps > - Jack remaps > - Input > > I will work on the input after I have implemented the output > along with all the features since at that point it should just be a > matter of reversing a few things in the code that writes the audio. > > I can work on this patchset mostly on weekends now but I will try to be > more regular with this. > > Reviews are welcome :) > > Shreyansh Chouhan (25): > virtio-snd: Add virtio sound header file > virtio-snd: Add jack control structures > virtio-snd: Add PCM control structures > virtio-snd: Add chmap control structures > virtio-snd: Add device implementation structures > virtio-snd: Add PCI wrapper code for VirtIOSound > virtio-snd: Add properties for class init > virtio-snd: Add code for get config function > virtio-snd: Add code for the realize function > virtio-snd: Add macros for logging > virtio-snd: Add control virtqueue handler > virtio-snd: Add VIRTIO_SND_R_JACK_INFO handler > virtio-snd: Add stub for VIRTIO_SND_R_JACK_REMAP handler > virtio-snd: Add VIRTIO_SND_R_PCM_INFO handler > virtio-snd: Add VIRITO_SND_R_PCM_SET_PARAMS handle > virtio-snd: Add VIRTIO_SND_R_PCM_PREPARE handler > virtio-snd: Add default configs to realize fn > virtio-snd: Add callback for SWVoiceOut > virtio-snd: Add start/stop handler > virtio-snd: Add VIRTIO_SND_R_PCM_RELEASE handler > virtio-snd: Replaced goto with if else > virtio-snd: Add code to device unrealize function > virtio-snd: Add xfer handler > virtio-snd: Add event vq and a handler stub > virtio-snd: Replaced AUD_log with tracepoints > > hw/audio/Kconfig | 5 + > hw/audio/meson.build | 1 + > hw/audio/trace-events | 14 + > hw/audio/virtio-snd.c | 1241 ++++++++++++++++++++++++++++++++ > hw/virtio/meson.build | 1 + > hw/virtio/virtio-snd-pci.c | 72 ++ > include/hw/virtio/virtio-snd.h | 383 ++++++++++ > 7 files changed, 1717 insertions(+) > create mode 100644 hw/audio/virtio-snd.c > create mode 100644 hw/virtio/virtio-snd-pci.c > create mode 100644 include/hw/virtio/virtio-snd.h > > -- > 2.31.1 > >
Le 11/02/2022 à 23:12, Shreyansh Chouhan a écrit : > The second RFC for implementing the VirtIO Sound card as described in > the virtio specs. Sorry for the absence of activity on this. > > The output from the sound card works. > > What remains to be done: > - Features defined in PCM features. (Eg message polling) > - Channel maps > - Jack remaps > - Input > > I will work on the input after I have implemented the output > along with all the features since at that point it should just be a > matter of reversing a few things in the code that writes the audio. > > I can work on this patchset mostly on weekends now but I will try to be > more regular with this. > > Reviews are welcome :) > > Shreyansh Chouhan (25): > virtio-snd: Add virtio sound header file > virtio-snd: Add jack control structures > virtio-snd: Add PCM control structures > virtio-snd: Add chmap control structures > virtio-snd: Add device implementation structures > virtio-snd: Add PCI wrapper code for VirtIOSound > virtio-snd: Add properties for class init > virtio-snd: Add code for get config function > virtio-snd: Add code for the realize function > virtio-snd: Add macros for logging > virtio-snd: Add control virtqueue handler > virtio-snd: Add VIRTIO_SND_R_JACK_INFO handler > virtio-snd: Add stub for VIRTIO_SND_R_JACK_REMAP handler > virtio-snd: Add VIRTIO_SND_R_PCM_INFO handler > virtio-snd: Add VIRITO_SND_R_PCM_SET_PARAMS handle > virtio-snd: Add VIRTIO_SND_R_PCM_PREPARE handler > virtio-snd: Add default configs to realize fn > virtio-snd: Add callback for SWVoiceOut > virtio-snd: Add start/stop handler > virtio-snd: Add VIRTIO_SND_R_PCM_RELEASE handler > virtio-snd: Replaced goto with if else > virtio-snd: Add code to device unrealize function > virtio-snd: Add xfer handler > virtio-snd: Add event vq and a handler stub > virtio-snd: Replaced AUD_log with tracepoints > > hw/audio/Kconfig | 5 + > hw/audio/meson.build | 1 + > hw/audio/trace-events | 14 + > hw/audio/virtio-snd.c | 1241 ++++++++++++++++++++++++++++++++ > hw/virtio/meson.build | 1 + > hw/virtio/virtio-snd-pci.c | 72 ++ > include/hw/virtio/virtio-snd.h | 383 ++++++++++ > 7 files changed, 1717 insertions(+) > create mode 100644 hw/audio/virtio-snd.c > create mode 100644 hw/virtio/virtio-snd-pci.c > create mode 100644 include/hw/virtio/virtio-snd.h > Thank you for your work. IMHO, all your patches can be merged in only one. Morever it would help for review as some patches remove code done in previous patches. The "v2" tag is missing in the subject of the patches of your series. And don't send a series as a reply of a previous one. You can use "git-publish" it helps a lot when we have to send several versions of a series. Thanks, Laurent
Hi, > IMHO, all your patches can be merged in only one. For the most part yes. I'd keep the pci wrapper (aka -device virtio-snd-pci) separate though. Possibly also patches adding significant functionality in the future (i.e. one patch with all basics and playback support, one patch adding recording functionality, ...). > Morever it would help for > review as some patches remove code done in previous patches. Yes, squashing the incremental fixes at the end of the series makes sense. take care, Gerd
Le 14/02/2022 à 11:44, Gerd Hoffmann a écrit : > Hi, > >> IMHO, all your patches can be merged in only one. > > For the most part yes. I'd keep the pci wrapper (aka -device > virtio-snd-pci) separate though. Possibly also patches adding > significant functionality in the future (i.e. one patch with all > basics and playback support, one patch adding recording > functionality, ...). > I agree. Laurent
© 2016 - 2024 Red Hat, Inc.