On Mon, Jun 24, 2013 at 11:17 PM, Alan Stern st...@rowland.harvard.edu wrote:
On Mon, 24 Jun 2013, Ming Lei wrote:
This patch implements the mechanism of giveback of URB in
tasklet context, so that hardware interrupt handling time for
usb host controller can be saved much, and HCD interrupt
On Tue, 25 Jun 2013, Ming Lei wrote:
+
+ spin_lock(bh-lock);
+ list_add_tail(urb-urb_list, bh-head);
+ if (bh-running)
+ sched = 0;
+ else
+ sched = 1;
+ spin_unlock(bh-lock);
How about calling this variable running instead of sched?
This patch implements the mechanism of giveback of URB in
tasklet context, so that hardware interrupt handling time for
usb host controller can be saved much, and HCD interrupt handling
can be simplified.
Motivations:
1), on some arch(such as ARM), DMA mapping/unmapping is a bit
time-consuming,
On Mon, Jun 24, 2013 at 5:42 PM, Ming Lei ming@canonical.com wrote:
+
+static void init_giveback_urb_bh(struct usb_hcd *hcd)
+{
+ if (!hcd_giveback_urb_in_bh(hcd))
+ return;
Sorry, the above check isn't needed, and the below check isn't
needed too. I will fix it in
On Mon, 24 Jun 2013, Ming Lei wrote:
This patch implements the mechanism of giveback of URB in
tasklet context, so that hardware interrupt handling time for
usb host controller can be saved much, and HCD interrupt handling
can be simplified.
Changes from v1 to v2?
+static void