aboutsummaryrefslogtreecommitdiff
path: root/hw/usb/hcd-xhci.h
diff options
context:
space:
mode:
authorYuri Benditovich <yuri.benditovich@janustech.com>2019-01-28 20:05:09 +0000
committerGerd Hoffmann <kraxel@redhat.com>2019-01-30 06:47:52 +0100
commitb4329d1a2a42d3c49ac4b76ec86b6c9db19ea1e9 (patch)
treed774c2e6d006f11c372d225fa3a5616cc74517e5 /hw/usb/hcd-xhci.h
parenta587c832a3f1d6d47dce93bda52c80cfa163e7cf (diff)
usb: implement XHCI underrun/overrun events
Implement underrun/overrun events of isochronous endpoints according to XHCI spec (4.10.3.1) Guest software restarts data streaming when receives these events. The XHCI reports these events using interrupter assigned to the slot (as these events do not have TRB), so current commit adds the field of assigned interrupter to the XHCISlot structure. Guest software assigns interrupter to the slot on 'Address Device' and 'Evaluate Context' commands. Signed-off-by: Yuri Benditovich <yuri.benditovich@janustech.com> Message-id: 20190128200444.5128-3-yuri.benditovich@janustech.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb/hcd-xhci.h')
-rw-r--r--hw/usb/hcd-xhci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/usb/hcd-xhci.h b/hw/usb/hcd-xhci.h
index fc36a4c787..240caa4e51 100644
--- a/hw/usb/hcd-xhci.h
+++ b/hw/usb/hcd-xhci.h
@@ -140,6 +140,7 @@ typedef struct XHCIPort {
typedef struct XHCISlot {
bool enabled;
bool addressed;
+ uint16_t intr;
dma_addr_t ctx;
USBPort *uport;
XHCIEPContext *eps[31];