aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSangwook Lee <sangwook.lee@linaro.org>2012-05-08 11:45:26 +0100
committerTushar Behera <tushar.behera@linaro.org>2012-05-17 10:43:34 +0530
commit3478a2870005bbe5cda37e12612e91fa45c593a0 (patch)
treea746ab64ff8a2580abcfb54e3617970b0d48b1bd
parentcdc13fcefd09072437824cdb637d560f7338d57c (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.c20
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,