mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
8627019a66
We see a kernel panic when we reboot with recovery mode from the UI. Though kernel prepares to stop the other cores(cpu_relax), but in some race condition mpdecision kicks in to wake up(CPU_UP_PREPARE) the other core, before we go ahead for issuing pcom command from core-0 for restart and this causes a BUG in stop machine code. So to resolve this before we issue a PCOM_RESET_CHIP command from core-0, we must ensure that IRQ and FIQ is disabled and also map the user pages to 1:1 mapping so as to not have unpredictable MMU errors or kernel panics. Moving the code put of pm2.c as this code is more restart specific and not related to power management code. CRs-Fixed: 359879 Change-Id: If26fdf3a4dd1fb5ecc4c28859bfd68650ff4e747 Signed-off-by: Taniya Das <tdas@codeaurora.org>
37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
/* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
#ifndef __ARCH_ARM_MACH_MSM_DEVICES_MSM7X2XA_H
|
|
#define __ARCH_ARM_MACH_MSM_DEVICES_MSM7X2XA_H
|
|
|
|
#define MSM_GSBI0_QUP_I2C_BUS_ID 0
|
|
#define MSM_GSBI1_QUP_I2C_BUS_ID 1
|
|
|
|
void __init msm_common_io_init(void);
|
|
void __init msm_init_pmic_vibrator(void);
|
|
void __init msm7x25a_kgsl_3d0_init(void);
|
|
int __init msm7x2x_misc_init(void);
|
|
extern struct platform_device msm7x27a_device_vfe;
|
|
extern struct platform_device msm7x27a_device_csic0;
|
|
extern struct platform_device msm7x27a_device_csic1;
|
|
extern struct platform_device msm7x27a_device_clkctl;
|
|
|
|
extern struct platform_device msm8625_device_csic0;
|
|
extern struct platform_device msm8625_device_csic1;
|
|
|
|
void __init msm8625_init_irq(void);
|
|
void __init msm8625_map_io(void);
|
|
int ar600x_wlan_power(bool on);
|
|
void __init msm8x25_spm_device_init(void);
|
|
void __init msm8x25_kgsl_3d0_init(void);
|
|
void __iomem *core1_reset_base(void);
|
|
extern void setup_mm_for_reboot(void);
|
|
#endif
|