[PATCH 0/5] VT82xx PCI fixes and audio output support

Bernhard Beschow posted 5 patches 1 year, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230223202053.117050-1-shentey@gmail.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Huacai Chen <chenhuacai@kernel.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, BALATON Zoltan <balaton@eik.bme.hu>
hw/audio/ac97.h            |  65 ++++++
include/hw/isa/vt82c686.h  |  25 +++
hw/audio/ac97.c            |  43 +---
hw/audio/via-ac97.c        | 436 ++++++++++++++++++++++++++++++++++++-
hw/isa/vt82c686.c          |  46 +++-
hw/ppc/pegasos2.c          |   6 +
hw/usb/vt82c686-uhci-pci.c |  12 -
hw/audio/trace-events      |   6 +
8 files changed, 580 insertions(+), 59 deletions(-)
create mode 100644 hw/audio/ac97.h
[PATCH 0/5] VT82xx PCI fixes and audio output support
Posted by Bernhard Beschow 1 year, 2 months ago
This series is v2 of [1] ("[PATCH 0/5] Pegasos2 fixes and audio output
support"). It makes PCI interrupt routing on the VIA south bridges more
compliant to the PCI specification and adds partial implementation of the
via-ac97 sound part enough to get audio output working on the ppc/pegasos2
machine.

All credits for implementing AC'97 support go to Zoltan who would like this
series to be merged for QEMU 8.0.

v2:
* Rework PCI IRQ routing in the VIA south bridges
* Use pci_set_irq() rather than via_isa_set_irq() in via-ac97

Testing done:
* `make check`
* `qemu-system-ppc -M pegasos2 -rtc base=localtime -device
  ati-vga,guest_hwcursor=true,romfile="" -cdrom morphos-3.17.iso -kernel
  morphos-3.17/boot.img`
  -> There is a nice sound when the Desktop becomes visible.
* `qemu-system-ppc -M pegasos2 -bios pegasos2.rom -rtc base=localtime -device
  ati-vga,guest_hwcursor=true,romfile="" -cdrom morphos-3.17.iso`
  -> There is a nice sound when the Desktop becomes visible.
* `qemu-system-ppc -M pegasos2 -bios pegasos2.rom -rtc base=localtime -device
  ati-vga,guest_hwcursor=true,romfile="" -cdrom morphos-3.17.iso -device
  usb-mouse -device usb-kbd`
  -> The machine hangs when audio is supposed to play while the mouse is moved.
     This behavior can also be reproduced in v1.

[1] https://lore.kernel.org/qemu-devel/cover.1677004414.git.balaton@eik.bme.hu/

BALATON Zoltan (2):
  hw/audio/ac97: Split off some definitions to a header
  hw/audio/via-ac97: Basic implementation of audio playback

Bernhard Beschow (3):
  hw/ppc/pegasos2: Initialize VT8231 PCI IRQ router
  hw/isa/vt82c686: Implement PCI IRQ routing
  hw/usb/vt82c686-uhci-pci: Use PCI IRQ routing

 hw/audio/ac97.h            |  65 ++++++
 include/hw/isa/vt82c686.h  |  25 +++
 hw/audio/ac97.c            |  43 +---
 hw/audio/via-ac97.c        | 436 ++++++++++++++++++++++++++++++++++++-
 hw/isa/vt82c686.c          |  46 +++-
 hw/ppc/pegasos2.c          |   6 +
 hw/usb/vt82c686-uhci-pci.c |  12 -
 hw/audio/trace-events      |   6 +
 8 files changed, 580 insertions(+), 59 deletions(-)
 create mode 100644 hw/audio/ac97.h

-- 
2.39.2