diff options
Diffstat (limited to 'arch/arm/mach-tegra/tegra3_usb_phy.c')
-rw-r--r-- | arch/arm/mach-tegra/tegra3_usb_phy.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/arm/mach-tegra/tegra3_usb_phy.c b/arch/arm/mach-tegra/tegra3_usb_phy.c index 6a8dc3d252e6..3a831c59a750 100644 --- a/arch/arm/mach-tegra/tegra3_usb_phy.c +++ b/arch/arm/mach-tegra/tegra3_usb_phy.c @@ -1223,11 +1223,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", - readl(base + USB_USBSTS), readl(base + USB_PORTSC)); - DBG("USB_USBMODE[0x%x] USB_USBCMD[0x%x]\n", - readl(base + USB_USBMODE), readl(base + USB_USBCMD)); + 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", + readl(base + USB_USBMODE), readl(base + USB_USBCMD)); + } usb_phy_fence_read(phy); /* check if there is any remote wake event */ @@ -1247,6 +1249,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; } } |