xhci: trace: irq + events
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
fc0ddaca33
commit
7acd279f83
|
@ -422,7 +422,6 @@ typedef struct XHCIEvRingSeg {
|
||||||
uint32_t rsvd;
|
uint32_t rsvd;
|
||||||
} XHCIEvRingSeg;
|
} XHCIEvRingSeg;
|
||||||
|
|
||||||
#ifdef DEBUG_XHCI
|
|
||||||
static const char *TRBType_names[] = {
|
static const char *TRBType_names[] = {
|
||||||
[TRB_RESERVED] = "TRB_RESERVED",
|
[TRB_RESERVED] = "TRB_RESERVED",
|
||||||
[TR_NORMAL] = "TR_NORMAL",
|
[TR_NORMAL] = "TR_NORMAL",
|
||||||
|
@ -474,7 +473,6 @@ static const char *trb_name(XHCITRB *trb)
|
||||||
return lookup_name(TRB_TYPE(*trb), TRBType_names,
|
return lookup_name(TRB_TYPE(*trb), TRBType_names,
|
||||||
ARRAY_SIZE(TRBType_names));
|
ARRAY_SIZE(TRBType_names));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void xhci_kick_ep(XHCIState *xhci, unsigned int slotid,
|
static void xhci_kick_ep(XHCIState *xhci, unsigned int slotid,
|
||||||
unsigned int epid);
|
unsigned int epid);
|
||||||
|
@ -506,14 +504,13 @@ static void xhci_irq_update(XHCIState *xhci)
|
||||||
level = 1;
|
level = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINTF("xhci_irq_update(): %d\n", level);
|
|
||||||
|
|
||||||
if (xhci->msi && msi_enabled(&xhci->pci_dev)) {
|
if (xhci->msi && msi_enabled(&xhci->pci_dev)) {
|
||||||
if (level) {
|
if (level) {
|
||||||
DPRINTF("xhci_irq_update(): MSI signal\n");
|
trace_usb_xhci_irq_msi(0);
|
||||||
msi_notify(&xhci->pci_dev, 0);
|
msi_notify(&xhci->pci_dev, 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
trace_usb_xhci_irq_intx(level);
|
||||||
qemu_set_irq(xhci->irq, level);
|
qemu_set_irq(xhci->irq, level);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -543,9 +540,8 @@ static void xhci_write_event(XHCIState *xhci, XHCIEvent *event)
|
||||||
}
|
}
|
||||||
ev_trb.control = cpu_to_le32(ev_trb.control);
|
ev_trb.control = cpu_to_le32(ev_trb.control);
|
||||||
|
|
||||||
DPRINTF("xhci_write_event(): [%d] %016"PRIx64" %08x %08x %s\n",
|
trace_usb_xhci_queue_event(xhci->er_ep_idx, trb_name(&ev_trb),
|
||||||
xhci->er_ep_idx, ev_trb.parameter, ev_trb.status, ev_trb.control,
|
ev_trb.parameter, ev_trb.status, ev_trb.control);
|
||||||
trb_name(&ev_trb));
|
|
||||||
|
|
||||||
addr = xhci->er_start + TRB_SIZE*xhci->er_ep_idx;
|
addr = xhci->er_start + TRB_SIZE*xhci->er_ep_idx;
|
||||||
pci_dma_write(&xhci->pci_dev, addr, &ev_trb, TRB_SIZE);
|
pci_dma_write(&xhci->pci_dev, addr, &ev_trb, TRB_SIZE);
|
||||||
|
|
|
@ -302,6 +302,9 @@ usb_xhci_oper_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x"
|
||||||
usb_xhci_port_write(uint32_t port, uint32_t off, uint32_t val) "port %d, off 0x%04x, val 0x%08x"
|
usb_xhci_port_write(uint32_t port, uint32_t off, uint32_t val) "port %d, off 0x%04x, val 0x%08x"
|
||||||
usb_xhci_runtime_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x"
|
usb_xhci_runtime_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x"
|
||||||
usb_xhci_doorbell_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x"
|
usb_xhci_doorbell_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x"
|
||||||
|
usb_xhci_irq_intx(uint32_t level) "level %d"
|
||||||
|
usb_xhci_irq_msi(uint32_t nr) "nr %d"
|
||||||
|
usb_xhci_queue_event(uint32_t idx, const char *name, uint64_t param, uint32_t status, uint32_t control) "idx %d, %s, p %016" PRIx64 ", s %08x, c 0x%08x"
|
||||||
|
|
||||||
# hw/usb/desc.c
|
# hw/usb/desc.c
|
||||||
usb_desc_device(int addr, int len, int ret) "dev %d query device, len %d, ret %d"
|
usb_desc_device(int addr, int len, int ret) "dev %d query device, len %d, ret %d"
|
||||||
|
|
Loading…
Reference in New Issue