Revision 3a38d437 hw/sb16.c
b/hw/sb16.c | ||
---|---|---|
56 | 56 |
|
57 | 57 |
typedef struct SB16State { |
58 | 58 |
QEMUSoundCard card; |
59 |
qemu_irq *pic;
|
|
59 |
qemu_irq pic; |
|
60 | 60 |
int irq; |
61 | 61 |
int dma; |
62 | 62 |
int hdma; |
... | ... | |
190 | 190 |
{ |
191 | 191 |
SB16State *s = opaque; |
192 | 192 |
s->can_write = 1; |
193 |
qemu_irq_raise (s->pic[s->irq]);
|
|
193 |
qemu_irq_raise (s->pic); |
|
194 | 194 |
} |
195 | 195 |
|
196 | 196 |
#define DMA8_AUTO 1 |
... | ... | |
598 | 598 |
case 0xf3: |
599 | 599 |
dsp_out_data (s, 0xaa); |
600 | 600 |
s->mixer_regs[0x82] |= (cmd == 0xf2) ? 1 : 2; |
601 |
qemu_irq_raise (s->pic[s->irq]);
|
|
601 |
qemu_irq_raise (s->pic); |
|
602 | 602 |
break; |
603 | 603 |
|
604 | 604 |
case 0xf9: |
... | ... | |
766 | 766 |
bytes = samples << s->fmt_stereo << (s->fmt_bits == 16); |
767 | 767 |
ticks = (bytes * ticks_per_sec) / freq; |
768 | 768 |
if (ticks < ticks_per_sec / 1024) { |
769 |
qemu_irq_raise (s->pic[s->irq]);
|
|
769 |
qemu_irq_raise (s->pic); |
|
770 | 770 |
} |
771 | 771 |
else { |
772 | 772 |
if (s->aux_ts) { |
... | ... | |
858 | 858 |
|
859 | 859 |
static void reset (SB16State *s) |
860 | 860 |
{ |
861 |
qemu_irq_lower (s->pic[s->irq]);
|
|
861 |
qemu_irq_lower (s->pic); |
|
862 | 862 |
if (s->dma_auto) { |
863 |
qemu_irq_raise (s->pic[s->irq]);
|
|
864 |
qemu_irq_lower (s->pic[s->irq]);
|
|
863 |
qemu_irq_raise (s->pic); |
|
864 |
qemu_irq_lower (s->pic); |
|
865 | 865 |
} |
866 | 866 |
|
867 | 867 |
s->mixer_regs[0x82] = 0; |
... | ... | |
897 | 897 |
if (s->v2x6 == 1) { |
898 | 898 |
if (0 && s->highspeed) { |
899 | 899 |
s->highspeed = 0; |
900 |
qemu_irq_lower (s->pic[s->irq]);
|
|
900 |
qemu_irq_lower (s->pic); |
|
901 | 901 |
control (s, 0); |
902 | 902 |
} |
903 | 903 |
else { |
... | ... | |
1008 | 1008 |
if (s->mixer_regs[0x82] & 1) { |
1009 | 1009 |
ack = 1; |
1010 | 1010 |
s->mixer_regs[0x82] &= 1; |
1011 |
qemu_irq_lower (s->pic[s->irq]);
|
|
1011 |
qemu_irq_lower (s->pic); |
|
1012 | 1012 |
} |
1013 | 1013 |
break; |
1014 | 1014 |
|
... | ... | |
1017 | 1017 |
if (s->mixer_regs[0x82] & 2) { |
1018 | 1018 |
ack = 1; |
1019 | 1019 |
s->mixer_regs[0x82] &= 2; |
1020 |
qemu_irq_lower (s->pic[s->irq]);
|
|
1020 |
qemu_irq_lower (s->pic); |
|
1021 | 1021 |
} |
1022 | 1022 |
break; |
1023 | 1023 |
|
... | ... | |
1231 | 1231 |
|
1232 | 1232 |
if (s->left_till_irq <= 0) { |
1233 | 1233 |
s->mixer_regs[0x82] |= (nchan & 4) ? 2 : 1; |
1234 |
qemu_irq_raise (s->pic[s->irq]);
|
|
1234 |
qemu_irq_raise (s->pic); |
|
1235 | 1235 |
if (0 == s->dma_auto) { |
1236 | 1236 |
control (s, 0); |
1237 | 1237 |
speaker (s, 0); |
... | ... | |
1408 | 1408 |
s = qemu_mallocz (sizeof (*s)); |
1409 | 1409 |
|
1410 | 1410 |
s->cmd = -1; |
1411 |
s->pic = pic; |
|
1412 |
s->irq = conf.irq; |
|
1411 |
s->pic = isa_reserve_irq(conf.irq); |
|
1413 | 1412 |
s->dma = conf.dma; |
1414 | 1413 |
s->hdma = conf.hdma; |
1415 | 1414 |
s->port = conf.port; |
Also available in: Unified diff