Initial commit with version 1.2.0-24
[packages/centos6/qemu.git] / 0619-xhci-move-register-update-into-xhci_intr_raise.patch
diff --git a/0619-xhci-move-register-update-into-xhci_intr_raise.patch b/0619-xhci-move-register-update-into-xhci_intr_raise.patch
new file mode 100644 (file)
index 0000000..f89d2a2
--- /dev/null
@@ -0,0 +1,55 @@
+From be996e1a852397f4009d08ac803081e1dfbc7326 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Thu, 30 Aug 2012 14:04:04 +0200
+Subject: [PATCH] xhci: move register update into xhci_intr_raise
+
+Now that we have a separate function to raise an IRQ we can move
+some comon code into the function.
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+---
+ hw/usb/hcd-xhci.c | 14 +++++---------
+ 1 file changed, 5 insertions(+), 9 deletions(-)
+
+diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
+index 777f903..32d22f7 100644
+--- a/hw/usb/hcd-xhci.c
++++ b/hw/usb/hcd-xhci.c
+@@ -662,8 +662,11 @@ static void xhci_msix_update(XHCIState *xhci)
+ static void xhci_intr_raise(XHCIState *xhci)
+ {
+-    if (!(xhci->iman & IMAN_IP) ||
+-        !(xhci->iman & IMAN_IE)) {
++    xhci->erdp_low |= ERDP_EHB;
++    xhci->iman |= IMAN_IP;
++    xhci->usbsts |= USBSTS_EINT;
++
++    if (!(xhci->iman & IMAN_IE)) {
+         return;
+     }
+@@ -784,9 +787,6 @@ static void xhci_events_update(XHCIState *xhci)
+     }
+     if (do_irq) {
+-        xhci->erdp_low |= ERDP_EHB;
+-        xhci->iman |= IMAN_IP;
+-        xhci->usbsts |= USBSTS_EINT;
+         xhci_intr_raise(xhci);
+     }
+@@ -847,10 +847,6 @@ static void xhci_event(XHCIState *xhci, XHCIEvent *event)
+         xhci_write_event(xhci, event);
+     }
+-    xhci->erdp_low |= ERDP_EHB;
+-    xhci->iman |= IMAN_IP;
+-    xhci->usbsts |= USBSTS_EINT;
+-
+     xhci_intr_raise(xhci);
+ }
+-- 
+1.7.12.1
+