[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 4/4] hw/audio/via-ac97: Route interrupts using via_isa_set_irq
From: |
BALATON Zoltan |
Subject: |
[PATCH v2 4/4] hw/audio/via-ac97: Route interrupts using via_isa_set_irq() |
Date: |
Sun, 29 Oct 2023 12:07:36 +0100 (CET) |
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
hw/audio/via-ac97.c | 8 ++++----
hw/isa/vt82c686.c | 1 +
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/hw/audio/via-ac97.c b/hw/audio/via-ac97.c
index 30095a4c7a..4c127a1def 100644
--- a/hw/audio/via-ac97.c
+++ b/hw/audio/via-ac97.c
@@ -211,14 +211,14 @@ static void out_cb(void *opaque, int avail)
AUD_set_active_out(s->vo, 0);
}
if (c->type & STAT_EOL) {
- pci_set_irq(&s->dev, 1);
+ via_isa_set_irq(&s->dev, 0, 1);
}
}
if (CLEN_IS_FLAG(c)) {
c->stat |= STAT_FLAG;
c->stat |= STAT_PAUSED;
if (c->type & STAT_FLAG) {
- pci_set_irq(&s->dev, 1);
+ via_isa_set_irq(&s->dev, 0, 1);
}
}
if (CLEN_IS_STOP(c)) {
@@ -305,13 +305,13 @@ static void sgd_write(void *opaque, hwaddr addr, uint64_t
val, unsigned size)
if (val & STAT_EOL) {
s->aur.stat &= ~(STAT_EOL | STAT_PAUSED);
if (s->aur.type & STAT_EOL) {
- pci_set_irq(&s->dev, 0);
+ via_isa_set_irq(&s->dev, 0, 0);
}
}
if (val & STAT_FLAG) {
s->aur.stat &= ~(STAT_FLAG | STAT_PAUSED);
if (s->aur.type & STAT_FLAG) {
- pci_set_irq(&s->dev, 0);
+ via_isa_set_irq(&s->dev, 0, 0);
}
}
break;
diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index c44bfeeab0..bf148f4c1b 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -621,6 +621,7 @@ void via_isa_set_irq(PCIDevice *d, int pin, int level)
break;
case 2: /* USB ports 0-1 */
case 3: /* USB ports 2-3 */
+ case 5: /* AC97 audio */
max_irq = 14;
break;
}
--
2.30.9