summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVenkat Moganty <vmoganty@nvidia.com>2010-09-04 18:46:46 -0700
committerYu-Huan Hsu <yhsu@nvidia.com>2010-10-05 14:51:10 -0700
commitf53faa616294450f1ed05b5bfd249b577b709399 (patch)
tree1e6913840d4ec6a576d574af7bb1727e2d757911
parent80833ca384f1a58a207f98bba66905c6e0caac97 (diff)
[usb-host]Remove controller restart in host mode during resume
During resume from LP0 controller is getting restarted in host mode due to this hcd state is getting changed from the suspend state. Controller state should not be changed for host mode. Fixed this to restart the controller only in OTG mode. Bug 724437 (cherry picked from commit cbea530301ae3d9a4a7271d11c819bfc8de8f892) Change-Id: Idc2897a2790087e00ee66e30fea734c9d117029e Reviewed-on: http://git-master/r/7833 Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
-rwxr-xr-xarch/arm/mach-tegra/board-nvodm.c2
-rw-r--r--arch/arm/mach-tegra/include/mach/usb-hcd.h1
-rw-r--r--drivers/usb/host/ehci-tegra.c3
3 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/board-nvodm.c b/arch/arm/mach-tegra/board-nvodm.c
index 10314a967455..1e93c42b4f7d 100755
--- a/arch/arm/mach-tegra/board-nvodm.c
+++ b/arch/arm/mach-tegra/board-nvodm.c
@@ -700,8 +700,6 @@ static void __init tegra_setup_hcd(void)
} else if (p->IdPinDetectionType == NvOdmUsbIdPinType_CableId) {
plat->id_detect = ID_PIN_CABLE_ID;
}
- plat->fast_wakeup =
- (p->UsbInterfaceType == NvOdmUsbInterfaceType_UlpiExternalPhy);
platform_device_register(&tegra_hcd[i]);
}
}
diff --git a/arch/arm/mach-tegra/include/mach/usb-hcd.h b/arch/arm/mach-tegra/include/mach/usb-hcd.h
index cc270e654cb5..c4db5a0bfc3b 100644
--- a/arch/arm/mach-tegra/include/mach/usb-hcd.h
+++ b/arch/arm/mach-tegra/include/mach/usb-hcd.h
@@ -38,7 +38,6 @@ struct tegra_hcd_platform_data {
unsigned int id_detect;
int gpio_nr;
bool otg_mode;
- bool fast_wakeup;
NvU32 powerClientId;
NvU32 vBusPowerRail;
/* USB PHY power rail. Tegra has integrated UTMI (USB transciver
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index 610292a01611..54c9ab28b580 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -695,7 +695,8 @@ static int tegra_ehci_resume(struct platform_device * pdev)
if (!ehci->host_resumed) {
tegra_ehci_power_up(hcd);
- if(!pdata->fast_wakeup)
+ /* restart the controller in OTG mode only */
+ if(pdata->otg_mode)
tegra_ehci_restart(hcd);
}