diff options
author | Suresh Mangipudi <smangipudi@nvidia.com> | 2011-09-30 16:17:40 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:47 -0800 |
commit | 600c04bb7985e622ab99553d78cf08612c5f64b5 (patch) | |
tree | 4267bcaa80bd03605d13894ff15523ce00f954f0 /drivers/usb/host/ehci-tegra.c | |
parent | 4a743e7df989ac079a1441b95812fbe89149c1d0 (diff) |
tegra: usb: phy: usb trigger change for wakeup event
Change the trigger for the wake events. The WAKE_ON_CONNECT bit should not
be cleared until the PCD_STS bit is set.
Bug 881388
Reviewed-on: http://git-master/r/62335
(cherry picked from commit 0b2d13a0e7dfe5218082b799599fa815ad9c9334)
Change-Id: I0d02f939ea5ba205765771242787f328c92092d5
Reviewed-on: http://git-master/r/63010
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Tested-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Rebase-Id: R3673afb4fc4357f4b72cd9af8c561902f223fbc5
Diffstat (limited to 'drivers/usb/host/ehci-tegra.c')
-rw-r--r-- | drivers/usb/host/ehci-tegra.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index 799bd1baae2e..d0a45f0f917f 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -186,15 +186,14 @@ static irqreturn_t tegra_ehci_irq (struct usb_hcd *hcd) TEGRA_USB_PHY_CLK_VALID_INT_STS; writel(val , (hcd->regs + TEGRA_USB_SUSP_CTRL_OFFSET)); - val = readl(hcd->regs + TEGRA_USB_PORTSC1_OFFSET); - val &= ~TEGRA_USB_PORTSC1_WKCN; - writel(val , (hcd->regs + TEGRA_USB_PORTSC1_OFFSET)); - val = readl(&hw->status); if (!(val & STS_PCD)) { spin_unlock(&ehci->lock); return 0; } + val = readl(hcd->regs + TEGRA_USB_PORTSC1_OFFSET); + val &= ~(TEGRA_USB_PORTSC1_WKCN | PORT_RWC_BITS); + writel(val , (hcd->regs + TEGRA_USB_PORTSC1_OFFSET)); } spin_unlock(&ehci->lock); } |