On Wed, 24 Jun 2009, David Vrabel wrote: > We have a plan to allow larger buffers by using a scatter-gather list > for the transfer. Each user-space page mapped into kernel space will be > a separate sg list element. We already can transfer large buffers using sg. The difference is that it requires multiple URBs, whereas your plan requires only one. > This should allow zero-copy with no > alignment restrictions. No, there _would_ be alignment restrictions when using UHCI (although not OHCI or EHCI). > You would need to add support for urbs with scatter-gather lists to > ehci-hcd. Rephrase this: To use your plan with ehci-hcd would require adding support for sg lists to ehci-hcd. Similarly for each host controller driver. > This may be tricky. whci-hcd, for example, required the use > of bounce buffers for certain sg lists whose elements were neither > multiples of a page nor multiples of wMaxPacketSize. However, such sg > lists are not common and would not occur with transfers from usbfs. What if the user's buffer starts at offset 4 within a page? Then the length of the first sg element would be PAGE_SIZE - 4, so a bounce buffer would be required after all. Even with usbfs. That's the sort of thing I meant when talking about alignment restrictions. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html