diff options
author | Gary King <gking@nvidia.com> | 2009-12-07 20:52:35 -0800 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2010-05-17 10:21:21 -0700 |
commit | b454f67407ebef22ef1fdffedac558cddacaf78f (patch) | |
tree | cab2c59ac4fd63588b937118b2d634100d39290f /drivers | |
parent | a356634e71ec70a76e9bc27ba2ce75c2644f7a38 (diff) |
ehci-hcd: add controller_resets_phy quirk
only reset the controller when doing so won't also reset the phy (Tegra quirk)
Change-Id: I549a18977d0d5ebfa12c32016aa9e6bffaa8643c
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 3 | ||||
-rw-r--r-- | drivers/usb/host/ehci.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index e18c6773809f..8dce768a2564 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -248,7 +248,8 @@ static int ehci_reset (struct ehci_hcd *ehci) command |= CMD_RESET; dbg_cmd (ehci, "reset", command); - ehci_writel(ehci, command, &ehci->regs->command); + if (!ehci->controller_resets_phy) + ehci_writel(ehci, command, &ehci->regs->command); ehci_to_hcd(ehci)->state = HC_STATE_HALT; ehci->next_statechange = jiffies; retval = handshake (ehci, &ehci->regs->command, diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 2d85e21ff282..19195955a454 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -129,6 +129,7 @@ struct ehci_hcd { /* one per controller */ unsigned has_amcc_usb23:1; unsigned need_io_watchdog:1; unsigned broken_periodic:1; + unsigned controller_resets_phy:1; /* required for usb32 quirk */ #define OHCI_CTRL_HCFS (3 << 6) |