mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 10:13:56 -06:00
hw: set interrupts using pci irq wrappers
pci_set_irq and the other pci irq wrappers use PCI_INTERRUPT_PIN config register to compute device INTx pin to assert/deassert. An irq is allocated using pci_allocate_irq wrapper only if is needed by non pci devices. Removed irq related fields from state if not used anymore. Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
68919cace8
commit
9e64f8a3fc
26 changed files with 43 additions and 43 deletions
|
@ -449,7 +449,6 @@ struct XHCIState {
|
|||
/*< public >*/
|
||||
|
||||
USBBus bus;
|
||||
qemu_irq irq;
|
||||
MemoryRegion mem;
|
||||
MemoryRegion mem_cap;
|
||||
MemoryRegion mem_oper;
|
||||
|
@ -737,7 +736,7 @@ static void xhci_intx_update(XHCIState *xhci)
|
|||
}
|
||||
|
||||
trace_usb_xhci_irq_intx(level);
|
||||
qemu_set_irq(xhci->irq, level);
|
||||
pci_set_irq(pci_dev, level);
|
||||
}
|
||||
|
||||
static void xhci_msix_update(XHCIState *xhci, int v)
|
||||
|
@ -795,7 +794,7 @@ static void xhci_intr_raise(XHCIState *xhci, int v)
|
|||
|
||||
if (v == 0) {
|
||||
trace_usb_xhci_irq_intx(1);
|
||||
qemu_set_irq(xhci->irq, 1);
|
||||
pci_irq_assert(pci_dev);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3416,8 +3415,6 @@ static int usb_xhci_initfn(struct PCIDevice *dev)
|
|||
|
||||
xhci->mfwrap_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, xhci_mfwrap_timer, xhci);
|
||||
|
||||
xhci->irq = dev->irq[0];
|
||||
|
||||
memory_region_init(&xhci->mem, OBJECT(xhci), "xhci", LEN_REGS);
|
||||
memory_region_init_io(&xhci->mem_cap, OBJECT(xhci), &xhci_cap_ops, xhci,
|
||||
"capabilities", LEN_CAP);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue