diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2012-02-28 14:19:44 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-08 15:09:23 -0800 |
commit | 7a30b0cf5dcb170865d4078b8e5168e04a533a04 (patch) | |
tree | 191fe2316f61b521dc9b6f4a2991ed6ca21d380f | |
parent | aa20bf80c4b5e0ae8a3a1440261a97d8ab8368ec (diff) |
arm: tegra: comms: hsic first enum issue with flight mode off
After flight mode on/off, EHCI phy power and modem power on sequences
not correct. For first enumeration HSIC phy should be power and then
modem needs to be powered before sending any hub events. Also
corrected initial state for ipc_ap_wake_state.
Bug 946027
Change-Id: I84edbebaa408fd6830adc09ebd0c67cb288a2626
Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: http://git-master/r/86297
(cherry picked from commit 700c7bc52b26b370ff2449a9a9f91b22188a9aee)
Reviewed-on: http://git-master/r/88008
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
-rw-r--r-- | arch/arm/mach-tegra/baseband-xmm-power.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/baseband-xmm-power.c b/arch/arm/mach-tegra/baseband-xmm-power.c index 51118f7a1c0f..1f23ea53f38a 100644 --- a/arch/arm/mach-tegra/baseband-xmm-power.c +++ b/arch/arm/mach-tegra/baseband-xmm-power.c @@ -38,7 +38,7 @@ MODULE_LICENSE("GPL"); -unsigned long modem_ver = XMM_MODEM_VER_1121; +unsigned long modem_ver = XMM_MODEM_VER_1130; EXPORT_SYMBOL(modem_ver); unsigned long modem_flash; @@ -156,7 +156,8 @@ static int baseband_xmm_power_on(struct platform_device *device) else ipc_ap_wake_state = IPC_AP_WAKE_INIT2; - pr_debug("%s - %d\n", __func__, __LINE__); + pr_debug("%s wake_st(%d) modem version %d\n", __func__, + ipc_ap_wake_state, modem_ver); /* register usb host controller */ if (!modem_flash) { @@ -242,6 +243,8 @@ static int baseband_xmm_power_off(struct platform_device *device) wakeup_pending = false; modem_sleep_flag = false; spin_unlock_irqrestore(&xmm_lock, flags); + /* start registration process once again on xmm on */ + register_hsic_device = true; pr_debug("%s }\n", __func__); return 0; |