9ae3a8
From 7bb437f63758a301ae64ff0ef56b7d107eaa7d99 Mon Sep 17 00:00:00 2001
9ae3a8
From: Gerd Hoffmann <kraxel@redhat.com>
9ae3a8
Date: Fri, 11 Jul 2014 14:20:58 +0200
9ae3a8
Subject: [PATCH 24/43] xhci iso: allow for some latency
9ae3a8
9ae3a8
Message-id: <1405088470-24115-26-git-send-email-kraxel@redhat.com>
9ae3a8
Patchwork-id: 59829
9ae3a8
O-Subject: [RHEL-7.1 qemu-kvm PATCH 25/37] xhci iso: allow for some latency
9ae3a8
Bugzilla: 949385
9ae3a8
RH-Acked-by: Dr. David Alan Gilbert (git) <dgilbert@redhat.com>
9ae3a8
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
9ae3a8
9ae3a8
Allow the scheduled transfer time be a bit behind, to
9ae3a8
compensate for latencies.  Without this xhci will wait
9ae3a8
way to often for the mfindex wraparound, assuming the
9ae3a8
scheduled time is in the future just because qemu is
9ae3a8
a bit behind in processing the iso transfer requests.
9ae3a8
9ae3a8
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
9ae3a8
(cherry picked from commit cc03ff9d0a147a399a11c9f513afa5e06ceee453)
9ae3a8
---
9ae3a8
 hw/usb/hcd-xhci.c | 2 +-
9ae3a8
 1 file changed, 1 insertion(+), 1 deletion(-)
9ae3a8
9ae3a8
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
---
9ae3a8
 hw/usb/hcd-xhci.c | 2 +-
9ae3a8
 1 file changed, 1 insertion(+), 1 deletion(-)
9ae3a8
9ae3a8
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
9ae3a8
index 2799539..75da33d 100644
9ae3a8
--- a/hw/usb/hcd-xhci.c
9ae3a8
+++ b/hw/usb/hcd-xhci.c
9ae3a8
@@ -1980,7 +1980,7 @@ static void xhci_calc_iso_kick(XHCIState *xhci, XHCITransfer *xfer,
9ae3a8
         xfer->mfindex_kick = ((xfer->trbs[0].control >> TRB_TR_FRAMEID_SHIFT)
9ae3a8
                               & TRB_TR_FRAMEID_MASK) << 3;
9ae3a8
         xfer->mfindex_kick |= mfindex & ~0x3fff;
9ae3a8
-        if (xfer->mfindex_kick < mfindex) {
9ae3a8
+        if (xfer->mfindex_kick + 0x100 < mfindex) {
9ae3a8
             xfer->mfindex_kick += 0x4000;
9ae3a8
         }
9ae3a8
     }
9ae3a8
-- 
9ae3a8
1.8.3.1
9ae3a8