summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-tegra.c
diff options
context:
space:
mode:
authorSuresh Mangipudi <smangipudi@nvidia.com>2011-09-30 16:17:40 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:47 -0800
commit600c04bb7985e622ab99553d78cf08612c5f64b5 (patch)
tree4267bcaa80bd03605d13894ff15523ce00f954f0 /drivers/usb/host/ehci-tegra.c
parent4a743e7df989ac079a1441b95812fbe89149c1d0 (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.c7
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);
}