[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 31/36] uhci: Use only one queue for ctrl endpoints
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 31/36] uhci: Use only one queue for ctrl endpoints |
Date: |
Thu, 25 Oct 2012 14:52:04 +0200 |
From: Hans de Goede <address@hidden>
ctrl endpoints use different pids for different phases of a control
transfer, this patch makes us use only one queue for a ctrl ep, rather
then 3.
Signed-off-by: Hans de Goede <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/usb/hcd-uhci.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index a9e06ef..b6b972f 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -167,8 +167,13 @@ static void uhci_queue_fill(UHCIQueue *q, UHCI_TD *td);
static inline int32_t uhci_queue_token(UHCI_TD *td)
{
- /* covers ep, dev, pid -> identifies the endpoint */
- return td->token & 0x7ffff;
+ if ((td->token & (0xf << 15)) == 0) {
+ /* ctrl ep, cover ep and dev, not pid! */
+ return td->token & 0x7ff00;
+ } else {
+ /* covers ep, dev, pid -> identifies the endpoint */
+ return td->token & 0x7ffff;
+ }
}
static UHCIQueue *uhci_queue_new(UHCIState *s, uint32_t qh_addr, UHCI_TD *td,
--
1.7.1
- [Qemu-devel] [PATCH 36/36] xhci: fix usb name in caps, (continued)
- [Qemu-devel] [PATCH 36/36] xhci: fix usb name in caps, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 23/36] uhci: Make uhci_fill_queue() actually operate on an UHCIQueue, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 05/36] ehci: Improve latency of interrupt delivery and async schedule scanning, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 24/36] uhci: Store ep in UHCIQueue, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 19/36] uhci: Drop unnecessary forward declaration of some static functions, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 26/36] uhci: Verify queue has not been changed by guest, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 09/36] xhci: Add a xhci_ep_nuke_one_xfer helper function, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 07/36] ehci: Detect going in circles when filling the queue, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 04/36] ehci: Set int flag on a short input packet, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 22/36] uhci: Add uhci_read_td() helper function, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 31/36] uhci: Use only one queue for ctrl endpoints,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 30/36] uhci: Retry to fill the queue while waiting for td completion, Gerd Hoffmann, 2012/10/25
- [Qemu-devel] [PATCH 35/36] xhci: make number of interrupters and slots configurable, Gerd Hoffmann, 2012/10/25
- Re: [Qemu-devel] [PULL 00/36] usb patch queue, Anthony Liguori, 2012/10/29