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
