qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Fix IRQ routing in via south bridge
@ 2023-10-29 11:07 BALATON Zoltan
  2023-10-29 11:07 ` [PATCH v2 1/4] hw/isa/vt82c686: Bring back via_isa_set_irq() BALATON Zoltan
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: BALATON Zoltan @ 2023-10-29 11:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: philmd, Jiaxun Yang, Bernhard Beschow, vr_qemu

Changes in v2:
- Avoid a potential problem noticed by Volker before with not clearing
interrupts when mapping is changed (may not happen in practice but we
can handle it here) also add some comments explaining how it works.
- Update some commit messages

This is going back to my otiginal proposal in
https://patchew.org/QEMU/cover.1677004414.git.balaton@eik.bme.hu/
implementing routing of interrupts from device functions and PCI
devices to ISA interrupts. On pegasos2 the firmware sets evertyhing to
share IRQ 9 so the current simpified version worked for taht but with
the amigaone machine its firmware makes use of this feature and
assigns different interrupts to functions and PCI devices so we need
to properly impelent this. Since any ISA interrupt can be controlled
by any interrupt source (different functions of the multifunction
device plus the 4 input pins from PCI devices) there are more than 4
possible sources so this can't be handled by just the 4 PCI interrupt
lines. We need to keep track of the state of each interrupt source to
be able to determine the level of the ISA interrupt and avoid one
device clearing it while other still has an interrupt.

This fixes USB on amigaone and maybe other bugs not discovered yet.

Regards,
BALATON Zoltan

BALATON Zoltan (4):
  hw/isa/vt82c686: Bring back via_isa_set_irq()
  hw/usb/vt82c686-uhci-pci: Use ISA instead of PCI interrupts
  hw/isa/vt82c686: Route PIRQ inputs using via_isa_set_irq()
  hw/audio/via-ac97: Route interrupts using via_isa_set_irq()

 hw/audio/via-ac97.c        |  8 ++--
 hw/isa/vt82c686.c          | 75 +++++++++++++++++++++++++-------------
 hw/usb/vt82c686-uhci-pci.c |  9 +++++
 include/hw/isa/vt82c686.h  |  2 +
 4 files changed, 64 insertions(+), 30 deletions(-)

-- 
2.30.9



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-10-29 11:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-29 11:07 [PATCH v2 0/4] Fix IRQ routing in via south bridge BALATON Zoltan
2023-10-29 11:07 ` [PATCH v2 1/4] hw/isa/vt82c686: Bring back via_isa_set_irq() BALATON Zoltan
2023-10-29 11:39   ` BALATON Zoltan
2023-10-29 11:07 ` [PATCH v2 2/4] hw/usb/vt82c686-uhci-pci: Use ISA instead of PCI interrupts BALATON Zoltan
2023-10-29 11:07 ` [PATCH v2 3/4] hw/isa/vt82c686: Route PIRQ inputs using via_isa_set_irq() BALATON Zoltan
2023-10-29 11:07 ` [PATCH v2 4/4] hw/audio/via-ac97: Route interrupts " BALATON Zoltan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).