[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201108170906.03901.hselasky@c2i.net>
Date: Wed, 17 Aug 2011 09:06:03 +0200
From: Hans Petter Selasky <hselasky@....net>
To: "Amit Blay" <ablay@...eaurora.org>
Cc: "Sarah Sharp" <sarah.a.sharp@...ux.intel.com>,
"Tatyana Brokhman" <tlinder@...eaurora.org>, greg@...ah.com,
linux-usb@...r.kernel.org, linux-arm-msm@...r.kernel.org,
balbi@...com, "Amit Blay" <ablay@...lcomm.com>,
"open list" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH/RFC 5/5] usb: Add support for streams alloc/dealloc to devio.c
On Wednesday 27 July 2011 08:21:35 Amit Blay wrote:
> 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.
Hi,
I'm looking into implementing USB 3.0 streams support for FreeBSD and would
like to have a solution in Linux which is not too far apart, also regarding
API's for userspace.
I would suggest overloading the "unsigned int pipe", instead of breaking
existing API's by adding a new stream ID value. Also for LibUSB.
./linux/usb.h: unsigned int pipe; /* (in) pipe information */
As per definition there are 15 bits available for "pipe". I think it is not
important to support more than 255 streams in the first go, hence I see no
real applications that would benefit from that many streams yet.
#define usb_pipeendpoint(pipe) (((pipe) >> 15) & 0xf)
Then I suggest a new function/IOCTL in libusb which can be used to switch
on/off streams on a given endpoint. This is something which would need to be
done before submitting any URB's on that endpoint. And would be similar to the
clear-stall case.
If an URB is submitted on a stream when streams are disabled then it should
just fail and vice versa.
--HPS
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists