Re: Is usb_buffer_alloc a generic URB buffer allocator ? (was Split Bulk Transfers)

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Sat, 19 May 2007, jidong xiao wrote:

> The length of any entry should be greater than a page?I think only if each
> buffer's size is divisible by page size, could it start at a page boundary
> and end at a page boundary.

Let's use the word "buffer" to refer to the region of memory described by
the entire scatter-gather list.  Let's use the word "sub-buffer" to refer
to that portion of the buffer which is described by a single scatterlist
entry.  Note that each entry corresponds to a group of pages (or a single
page), only part of which might be contained in the sub-buffer.

If the sub-buffer begins at the start of the group of pages and ends at
the end of the group of pages then its length will indeed be a multiple of
the page size.  Each sub-buffer (except possibly the first one) will begin
at the start of the page group.  And each sub-buffer (except possibly the 
last one) will end at the end of the page group.

Another way to describe this is as follows: For each scatterlist entry
after the first, we should always have .offset = 0.  For each scatterlist
entry before the last, we should always have (.offset + .length) is a
multiple of the page size.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.