diff options
author | Sangwook Lee <sangwook.lee@linaro.org> | 2012-05-08 11:45:26 +0100 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2012-05-17 10:43:34 +0530 |
commit | 3478a2870005bbe5cda37e12612e91fa45c593a0 (patch) | |
tree | a746ab64ff8a2580abcfb54e3617970b0d48b1bd | |
parent | cdc13fcefd09072437824cdb637d560f7338d57c (diff) |
ARM: EXYNOS: Add initial value of G3D power domain on Origen boardtracking-samslt-mali-3.4-2012.05-1tracking-samslt-mali-3.4-2012.05-0
This patch adds the flag in order not to run G3D PD at the runtime.
If it is running, Mali MMU setting will be destoried and the access
to Mali MMU registers will cause kernel panic as showing following
errors:
MMU idle, activating page directory 0x6D884000 on MMU Mali-400 MMU for GP
mali_mmu_register_write addr:0x0008 val:0x00000002
Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
-rw-r--r-- | arch/arm/mach-exynos/mach-origen.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index c56e403a8873..7dae2d01a67b 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c @@ -21,6 +21,7 @@ #include <linux/mfd/max8997.h> #include <linux/lcd.h> #include <linux/rfkill-gpio.h> +#include <linux/pm_domain.h> #include <asm/mach/arch.h> #include <asm/hardware/gic.h> @@ -731,6 +732,25 @@ static void __init origen_machine_init(void) origen_bt_setup(); } +/** + * This function will wait for platform device to be + * added and then change status. So subsys_initcall is used + */ +static __init int origen_pm_late_initcall(void) +{ + struct generic_pm_domain *p; + + p = pd_to_genpd(s5p_device_g3d.dev.pm_domain); + + /* This is flag not to call power_off callback */ + /* pm_genpd_dev_always_on doesn't work with Mali */ + + p->status = GPD_STATE_WAIT_MASTER; + + return 0; +} +subsys_initcall(origen_pm_late_initcall); + MACHINE_START(ORIGEN, "ORIGEN") /* Maintainer: JeongHyeon Kim <jhkim@insignal.co.kr> */ .atag_offset = 0x100, |