Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 82263
b: refs/heads/master
c: aa16ca3
h: refs/heads/master
i:
  82261: fead613
  82259: c49b3a4
  82255: 7876933
v: v3
  • Loading branch information
David Brownell authored and Greg Kroah-Hartman committed Feb 1, 2008
1 parent 7a3886b commit 3ce6037
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 45 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3b6fcfd0664aeac6ae2fd1231f04b3ed24723c1e
refs/heads/master: aa16ca307ee2da304d3a5fc0fc5e50ef8047c9e9
9 changes: 0 additions & 9 deletions trunk/drivers/usb/host/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,6 @@ config USB_EHCI_HCD
To compile this driver as a module, choose M here: the
module will be called ehci-hcd.

config USB_EHCI_SPLIT_ISO
bool "Full speed ISO transactions (EXPERIMENTAL)"
depends on USB_EHCI_HCD && EXPERIMENTAL
default n
---help---
This code is new and hasn't been used with many different
EHCI or USB 2.0 transaction translator implementations.
It should work for ISO-OUT transfers, like audio.

config USB_EHCI_ROOT_HUB_TT
bool "Root Hub Transaction Translators (EXPERIMENTAL)"
depends on USB_EHCI_HCD && EXPERIMENTAL
Expand Down
47 changes: 12 additions & 35 deletions trunk/drivers/usb/host/ehci-sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -1630,16 +1630,12 @@ itd_complete (
BUG_ON (itd->urb == urb);
*/

/* give urb back to the driver ... can be out-of-order */
/* give urb back to the driver; completion often (re)submits */
dev = urb->dev;
ehci_urb_done(ehci, urb, 0);
retval = true;
urb = NULL;

/* defer stopping schedule; completion can submit */
ehci->periodic_sched--;
if (unlikely (!ehci->periodic_sched))
(void) disable_periodic (ehci);
ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--;

if (unlikely (list_empty (&stream->td_list))) {
Expand Down Expand Up @@ -1725,8 +1721,6 @@ static int itd_submit (struct ehci_hcd *ehci, struct urb *urb,
return status;
}

#ifdef CONFIG_USB_EHCI_SPLIT_ISO

/*-------------------------------------------------------------------------*/

/*
Expand Down Expand Up @@ -2016,16 +2010,12 @@ sitd_complete (
BUG_ON (sitd->urb == urb);
*/

/* give urb back to the driver */
/* give urb back to the driver; completion often (re)submits */
dev = urb->dev;
ehci_urb_done(ehci, urb, 0);
retval = true;
urb = NULL;

/* defer stopping schedule; completion can submit */
ehci->periodic_sched--;
if (!ehci->periodic_sched)
(void) disable_periodic (ehci);
ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--;

if (list_empty (&stream->td_list)) {
Expand Down Expand Up @@ -2108,26 +2098,6 @@ static int sitd_submit (struct ehci_hcd *ehci, struct urb *urb,
return status;
}

#else

static inline int
sitd_submit (struct ehci_hcd *ehci, struct urb *urb, gfp_t mem_flags)
{
ehci_dbg (ehci, "split iso support is disabled\n");
return -ENOSYS;
}

static inline unsigned
sitd_complete (
struct ehci_hcd *ehci,
struct ehci_sitd *sitd
) {
ehci_err (ehci, "sitd_complete %p?\n", sitd);
return 0;
}

#endif /* USB_EHCI_SPLIT_ISO */

/*-------------------------------------------------------------------------*/

static void
Expand Down Expand Up @@ -2252,8 +2222,14 @@ scan_periodic (struct ehci_hcd *ehci)
}

/* assume completion callbacks modify the queue */
if (unlikely (modified))
goto restart;
if (unlikely (modified)) {
if (likely(ehci->periodic_sched > 0))
goto restart;
/* maybe we can short-circuit this scan! */
disable_periodic(ehci);
now_uframe = clock;
break;
}
}

/* stop when we catch up to the HC */
Expand All @@ -2269,7 +2245,8 @@ scan_periodic (struct ehci_hcd *ehci)
if (now_uframe == clock) {
unsigned now;

if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state))
if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state)
|| ehci->periodic_sched == 0)
break;
ehci->next_uframe = now_uframe;
now = ehci_readl(ehci, &ehci->regs->frame_index) % mod;
Expand Down

0 comments on commit 3ce6037

Please sign in to comment.