[PATCH v2 0/3] VT82xx PCI IRQ routing fixes

Bernhard Beschow posted 3 patches 1 year, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230225170857.15774-1-shentey@gmail.com
Maintainers: Huacai Chen <chenhuacai@kernel.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, BALATON Zoltan <balaton@eik.bme.hu>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
hw/isa/vt82c686.c          | 44 ++++++++++++++++++++++++++++++++++++++
hw/ppc/pegasos2.c          |  6 ++++++
hw/usb/vt82c686-uhci-pci.c | 12 -----------
3 files changed, 50 insertions(+), 12 deletions(-)
[PATCH v2 0/3] VT82xx PCI IRQ routing fixes
Posted by Bernhard Beschow 1 year, 2 months ago
This series makes PCI interrupt routing in the VIA south bridges more compliant
to the PCI specification. It aims to help bringing audio output support to the
ppc/pegasos2 machine [1].

v2:
* Remove audio patches which were included for proof of concept

Testing done with via-ac97 audio patches on top:
* `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://patchew.org/QEMU/cover.1677004414.git.balaton@eik.bme.hu/

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/isa/vt82c686.c          | 44 ++++++++++++++++++++++++++++++++++++++
 hw/ppc/pegasos2.c          |  6 ++++++
 hw/usb/vt82c686-uhci-pci.c | 12 -----------
 3 files changed, 50 insertions(+), 12 deletions(-)

-- 
2.39.2

Re: [PATCH v2 0/3] VT82xx PCI IRQ routing fixes
Posted by BALATON Zoltan 1 year, 2 months ago
On Sat, 25 Feb 2023, Bernhard Beschow wrote:
> This series makes PCI interrupt routing in the VIA south bridges more compliant
> to the PCI specification. It aims to help bringing audio output support to the
> ppc/pegasos2 machine [1].
>
> v2:
> * Remove audio patches which were included for proof of concept

I've merged this with my other patches and made a series with all patches 
needed for AmigaOS on pegasos2 and MorphOS sound support here on branch 
pegasos2-alt:

https://osdn.net/projects/qmiga/scm/git/qemu/tree/pegasos2-alt/

I hope to get it tested before Monday so we can finalise it early next 
week.

> Testing done with via-ac97 audio patches on top:
> * `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.

Please come up with a similar workaround for this issue that I've done in 
my series on which this works now without hanging. My series is on 
pegasos2 branch:

https://osdn.net/projects/qmiga/scm/git/qemu/tree/pegasos2/

but I don't understand your irq mapping function and don't know how could 
I add similar workaround to that.

Regards,
BALATON Zoltan

> [1] https://patchew.org/QEMU/cover.1677004414.git.balaton@eik.bme.hu/
>
> 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/isa/vt82c686.c          | 44 ++++++++++++++++++++++++++++++++++++++
> hw/ppc/pegasos2.c          |  6 ++++++
> hw/usb/vt82c686-uhci-pci.c | 12 -----------
> 3 files changed, 50 insertions(+), 12 deletions(-)
>
> --
> 2.39.2
>
>
>