diff options
Diffstat (limited to 'hw/scsi')
-rw-r--r-- | hw/scsi/esp-pci.c | 3 | ||||
-rw-r--r-- | hw/scsi/lsi53c895a.c | 2 | ||||
-rw-r--r-- | hw/scsi/megasas.c | 6 | ||||
-rw-r--r-- | hw/scsi/vmw_pvscsi.c | 2 |
4 files changed, 7 insertions, 6 deletions
diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c index 99bf8ec446..48c8b82350 100644 --- a/hw/scsi/esp-pci.c +++ b/hw/scsi/esp-pci.c @@ -361,7 +361,7 @@ static int esp_pci_scsi_init(PCIDevice *dev) "esp-io", 0x80); pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io); - s->irq = dev->irq[0]; + s->irq = pci_allocate_irq(dev); scsi_bus_new(&s->bus, sizeof(s->bus), d, &esp_pci_scsi_info, NULL); if (!d->hotplugged) { @@ -378,6 +378,7 @@ static void esp_pci_scsi_uninit(PCIDevice *d) { PCIESPState *pci = PCI_ESP(d); + qemu_free_irq(pci->esp.irq); memory_region_destroy(&pci->io); } diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index 36e5f50360..cb30414849 100644 --- a/hw/scsi/lsi53c895a.c +++ b/hw/scsi/lsi53c895a.c @@ -437,7 +437,7 @@ static void lsi_update_irq(LSIState *s) level, s->dstat, s->sist1, s->sist0); last_level = level; } - qemu_set_irq(d->irq[0], level); + pci_set_irq(d, level); if (!level && lsi_irq_on_rsl(s) && !(s->scntl1 & LSI_SCNTL1_CON)) { DPRINTF("Handled IRQs & disconnected, looking for pending " diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index 09b51b387b..7c5a1a2b3a 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -535,7 +535,7 @@ static void megasas_complete_frame(MegasasState *s, uint64_t context) msix_notify(pci_dev, 0); } else { trace_megasas_irq_raise(); - qemu_irq_raise(pci_dev->irq[0]); + pci_irq_assert(pci_dev); } } } else { @@ -1936,7 +1936,7 @@ static void megasas_mmio_write(void *opaque, hwaddr addr, s->intr_mask = val; if (!megasas_intr_enabled(s) && !msix_enabled(pci_dev)) { trace_megasas_irq_lower(); - qemu_irq_lower(pci_dev->irq[0]); + pci_irq_deassert(pci_dev); } if (megasas_intr_enabled(s)) { trace_megasas_intr_enabled(); @@ -1952,7 +1952,7 @@ static void megasas_mmio_write(void *opaque, hwaddr addr, stl_le_phys(s->producer_pa, s->reply_queue_head); if (!msix_enabled(pci_dev)) { trace_megasas_irq_lower(); - qemu_irq_lower(pci_dev->irq[0]); + pci_irq_deassert(pci_dev); } } break; diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index 819d671ba2..94b328f186 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -330,7 +330,7 @@ pvscsi_update_irq_status(PVSCSIState *s) return; } - qemu_set_irq(d->irq[0], !!should_raise); + pci_set_irq(d, !!should_raise); } static void |