aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2013-12-27 13:37:11 -0500
committerKevin O'Connor <kevin@koconnor.net>2014-01-29 12:57:01 -0500
commitb6a406551b2eb469cbb39579ed1eabdd12718939 (patch)
tree7fdeae9be5971f4e6dbc2684a5cc680a73c5c5f4
parent1b830fe763d49724a2c03a97931b7300073715ee (diff)
downloadseabios-b6a406551b2eb469cbb39579ed1eabdd12718939.zip
seabios-b6a406551b2eb469cbb39579ed1eabdd12718939.tar.gz
seabios-b6a406551b2eb469cbb39579ed1eabdd12718939.tar.bz2
xhci: Set the interval parameter on interrupt pipes.
Be sure to set the interval parameter when creating an interrupt based pipe. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/hw/usb-xhci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/hw/usb-xhci.c b/src/hw/usb-xhci.c
index 0833cb9..b10fceb 100644
--- a/src/hw/usb-xhci.c
+++ b/src/hw/usb-xhci.c
@@ -895,6 +895,8 @@ xhci_alloc_pipe(struct usbdevice_s *usbdev
in->slot.ctx[0] |= (31 << 27); // context entries
int e = pipe->epid-1;
+ if (eptype == USB_ENDPOINT_XFER_INT)
+ in->ep[e].ctx[0] = (usb_getFrameExp(usbdev, epdesc) + 3) << 16;
in->ep[e].ctx[1] |= (eptype << 3);
if (epdesc->bEndpointAddress & USB_DIR_IN)
in->ep[e].ctx[1] |= (1 << 5);