John Heil wrote:

I looked back at my driver code and it does set each URB to
URB_NO_INTERRUPT, however, in itd_fill I set the EHCI_ITD_IOC bit
on the last transation of each iTD, thus overriding URB_NO_INTERRUPT

Why would you want to force IRQ-per-iTD? Hmm, and I noticed that the URB_NO_INTERRUPT is ignored in that latest patch. Minor bug, see the appended patch.


and presumably log2_irq_thresh=6 also, something I'll be cleaning
up as I progress.

No, the irq threshold is a global setting. You've got much finer control by just submitting bigger URBs or hinting URB_NO_INTERRUPT.

- Dave


--- 1.29/drivers/usb/host/ehci-sched.c Sun Dec 28 21:09:07 2003 +++ edited/ehci-sched.c Wed Jan 21 17:51:46 2004 @@ -718,7 +718,8 @@

                trans = EHCI_ISOC_ACTIVE;
                trans |= buf & 0x0fff;
-               if (unlikely ((i + 1) == urb->number_of_packets))
+               if (unlikely (((i + 1) == urb->number_of_packets))
+                               && !(urb->transfer_flags & URB_NO_INTERRUPT))
                        trans |= EHCI_ITD_IOC;
                trans |= length << 16;
                uframe->transaction = cpu_to_le32 (trans);



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to