mbox series

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

Message ID 20230225170857.15774-1-shentey@gmail.com
Headers show
Series VT82xx PCI IRQ routing fixes | expand

Message

Bernhard Beschow Feb. 25, 2023, 5:08 p.m. UTC
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(-)

Comments

BALATON Zoltan Feb. 26, 2023, 2 a.m. UTC | #1
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
>
>
>