summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra3_usb_phy.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/tegra3_usb_phy.c')
-rw-r--r--arch/arm/mach-tegra/tegra3_usb_phy.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/tegra3_usb_phy.c b/arch/arm/mach-tegra/tegra3_usb_phy.c
index 3a3293eba06a..3152bdf9e107 100644
--- a/arch/arm/mach-tegra/tegra3_usb_phy.c
+++ b/arch/arm/mach-tegra/tegra3_usb_phy.c
@@ -1222,11 +1222,13 @@ static int utmi_phy_irq(struct tegra_usb_phy *phy)
void __iomem *base = phy->regs;
unsigned long val = 0;
- DBG("%s(%d) inst:[%d]\n", __func__, __LINE__, phy->inst);
- DBG("USB_USBSTS[0x%x] USB_PORTSC[0x%x]\n",
+ if (phy->phy_clk_on) {
+ DBG("%s(%d) inst:[%d]\n", __func__, __LINE__, phy->inst);
+ DBG("USB_USBSTS[0x%x] USB_PORTSC[0x%x]\n",
readl(base + USB_USBSTS), readl(base + USB_PORTSC));
- DBG("USB_USBMODE[0x%x] USB_USBCMD[0x%x]\n",
+ DBG("USB_USBMODE[0x%x] USB_USBCMD[0x%x]\n",
readl(base + USB_USBMODE), readl(base + USB_USBCMD));
+ }
usb_phy_fence_read(phy);
/* check if there is any remote wake event */
@@ -1246,6 +1248,8 @@ static int utmi_phy_irq(struct tegra_usb_phy *phy)
val = readl(base + USB_PORTSC);
val &= ~(USB_PORTSC_WKCN | USB_PORTSC_RWC_BITS);
writel(val , (base + USB_PORTSC));
+ } else if (!phy->phy_clk_on) {
+ return IRQ_NONE;
}
}