Re: [PATCH/RFC 5/5] usb: Add support for streams alloc/dealloc to devio.c

Amit Blay
2011-07-27T06:21:37Z

Hi Sarah,

A gentle reminder, can you please take a look at the proposed solution
below for stream alloc/dealloc in devio.c? I responded to your comments
about the original patch.

On Tue, July 19, 2011 2:12 am, Amit Blay wrote:
> Hi Sarah,
>
> I apologize for the delay responding to the thread. Thanks for your
> comments. I would like to continue and fix the previous patch according to
> the comments.
> Also, I would like to split this patch, and implement the actual usage of
> streams for bulk EP transfers (passing the stream ID with the URB) to a
> different patch.
>
>>
>> It looks like userspace doesn't have a way to specify the number of
>> streams USBFS needs to allocate. Not all userspace applications are
>
>> You probably also need a way to communicate back to userspace how many
>> streams were actually allocated. The program could choose to free
>
>> So you're just taking the max_streams from the first endpoint that has
>> streams? What if other endpoints have varying numbers of max streams?
>
>> What if you have endpoints on an interface that don't support streams?
>
>> So it seems like you also need a way for userspace to specify which
>> endpoints get streams, and which endpoints have streams freed. I will
>
> What I have in mind is user space passing a structure holding:
>
> 1. Interface number [IN]
> 2. Bitmap indicating which EP to allocate streams for [IN]
> 3. Number of streams to allocate, one number [IN}
> 4. Number of streams actually allocated, one number [OUT]
>
> The devio alloc function will double check if all EPs belong to the
> interface passed by the user space.
> Then it will call the HCI alloc function with the required number of
> streams. It will return the number of streams actually allocated by the
> HCD. Items 3 & 4 can be merged to one IN/OUT parameter.
>
> No error checking will be done in devio for number of required streams
> (i.e, comparing it with the reported max streams). This kind of error
> checking is already done by the xHCI driver.
>
> Please let me know if the solution is acceptable.
>
> Thanks,
> Amit.

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.