All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [PATCH 12/14] uhci: new uhci_handle_td return code for tds still in flight
Date: Tue, 13 Mar 2012 13:20:09 +0100	[thread overview]
Message-ID: <1331641211-20077-13-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1331641211-20077-1-git-send-email-kraxel@redhat.com>

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-uhci.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index fd50be1..8e34961 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -81,7 +81,8 @@ enum {
     TD_RESULT_STOP_FRAME = 10,
     TD_RESULT_COMPLETE,
     TD_RESULT_NEXT_QH,
-    TD_RESULT_ASYNC,
+    TD_RESULT_ASYNC_START,
+    TD_RESULT_ASYNC_CONT,
 };
 
 typedef struct UHCIState UHCIState;
@@ -812,7 +813,7 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in
         async->queue->valid = 32;
 
         if (!async->done)
-            return TD_RESULT_NEXT_QH;
+            return TD_RESULT_ASYNC_CONT;
 
         uhci_async_unlink(async);
         goto done;
@@ -860,7 +861,7 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in
  
     if (len == USB_RET_ASYNC) {
         uhci_async_link(async);
-        return TD_RESULT_ASYNC;
+        return TD_RESULT_ASYNC_START;
     }
 
     async->packet.result = len;
@@ -966,7 +967,7 @@ static void uhci_fill_queue(UHCIState *s, UHCI_TD *td)
         }
         trace_usb_uhci_td_queue(plink & ~0xf, ptd.ctrl, ptd.token);
         ret = uhci_handle_td(s, plink, &ptd, &int_mask);
-        assert(ret == TD_RESULT_ASYNC);
+        assert(ret == TD_RESULT_ASYNC_START);
         assert(int_mask == 0);
         plink = ptd.link;
     }
@@ -1058,11 +1059,12 @@ static void uhci_process_frame(UHCIState *s)
             goto out;
 
         case TD_RESULT_NEXT_QH:
+        case TD_RESULT_ASYNC_CONT:
             trace_usb_uhci_td_nextqh(curr_qh & ~0xf, link & ~0xf);
             link = curr_qh ? qh.link : td.link;
             continue;
 
-        case TD_RESULT_ASYNC:
+        case TD_RESULT_ASYNC_START:
             trace_usb_uhci_td_async(curr_qh & ~0xf, link & ~0xf);
             if (is_valid(td.link)) {
                 uhci_fill_queue(s, &td);
-- 
1.7.1

  parent reply	other threads:[~2012-03-13 12:20 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-13 12:19 [Qemu-devel] [PULL 00/14] usb patch queue Gerd Hoffmann
2012-03-13 12:19 ` [Qemu-devel] [PATCH 01/14] usb: the big rename Gerd Hoffmann
2012-03-13 13:29   ` Hans de Goede
2012-03-13 12:19 ` [Qemu-devel] [PATCH 02/14] usb: zap hw/ush-{ohic, uhci}.h + init wrappers Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 03/14] usb-ehci: drop unused isoch_pause variable Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 04/14] usb-ohci: DMA writeback bug fixes Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 05/14] usb: improve packet state sanity checks Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 06/14] uhci: pass addr to uhci_async_alloc Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 07/14] uhci: fix uhci_async_cancel_all Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 08/14] uhci: cancel on schedule stop Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 09/14] uhci: tracing support Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 10/14] uhci: use enum for uhci_handle_td return codes Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 11/14] uhci: renumber " Gerd Hoffmann
2012-03-13 12:20 ` Gerd Hoffmann [this message]
2012-03-13 12:20 ` [Qemu-devel] [PATCH 13/14] uhci: alloc can't fail, drop check Gerd Hoffmann
2012-03-13 12:20 ` [Qemu-devel] [PATCH 14/14] Endian fix an assertion in usb-msd Gerd Hoffmann
2012-03-13 19:55 ` [Qemu-devel] [PULL 00/14] usb patch queue Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1331641211-20077-13-git-send-email-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.