Commit a145ea512061fb87f492605cad3f26dbb8293c99

Authored by aliguori
1 parent c5fdf07b

uhci: Change default transaction lifetime to 32 frames (Max Krasnyansky)

Transaction lifetime was originally set to 10 frames. That was an arbitrary
number I picked without much thinking :).
I'm changing that to 32 frames because things like interrupt transfers
and such are scheduled at that rate. It seems like 1/32 is accepted as
lowest supported rate. OHCI, for example, defines exactly 32 interrupt
heads.

While testing USB webcam under XP I noticed that interrupt transactions were
being canceled and then resubmitted on a regular basis, which works but is a
waste of CPU cycles. This change fixes that.
All other devices I have are not affected.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5199 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 1 additions and 1 deletions
hw/usb-uhci.c
... ... @@ -781,7 +781,7 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in
781 781 async = uhci_async_find_td(s, addr, td->token);
782 782 if (async) {
783 783 /* Already submitted */
784   - async->valid = 10;
  784 + async->valid = 32;
785 785  
786 786 if (!async->done)
787 787 return 1;
... ...