summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2012-02-28 14:19:44 +0530
committerSimone Willett <swillett@nvidia.com>2012-03-08 15:09:23 -0800
commit7a30b0cf5dcb170865d4078b8e5168e04a533a04 (patch)
tree191fe2316f61b521dc9b6f4a2991ed6ca21d380f
parentaa20bf80c4b5e0ae8a3a1440261a97d8ab8368ec (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.c7
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;