aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorVolodymyr Mieshkov <volodymyr.mieshkov@ti.com>2012-11-05 15:00:09 +0200
committerZiyann <jaraidaniel@gmail.com>2014-10-01 12:59:18 +0200
commit84d866fb997bac4b7d620720f41834d658691ffe (patch)
tree77d6c36382e09ba62aa3460caeadc316a97dd0c5 /arch/arm/mach-omap2
parent7996b047ffef4e65888f8a80b08d7a3c45792e1c (diff)
downloadkernel_samsung_tuna-84d866fb997bac4b7d620720f41834d658691ffe.zip
kernel_samsung_tuna-84d866fb997bac4b7d620720f41834d658691ffe.tar.gz
kernel_samsung_tuna-84d866fb997bac4b7d620720f41834d658691ffe.tar.bz2
OMAP4: DPLL cascading: exit cascading before system restart
Exiting from DPLL cascading on system restart should be done before CPUs are turned off. In other case deadlocks are possible when mutex locked with idled CPU could be acquired with an active CPU. Change-Id: I608f8aee6c6f3e9a2c1fca0f06ea836222b121c2 Signed-off-by: Taras Kondratiuk <taras@ti.com> Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@ti.com> Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/omap4-reboot-reason.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap4-reboot-reason.c b/arch/arm/mach-omap2/omap4-reboot-reason.c
index 1342725..a09eb9f 100644
--- a/arch/arm/mach-omap2/omap4-reboot-reason.c
+++ b/arch/arm/mach-omap2/omap4-reboot-reason.c
@@ -21,12 +21,21 @@
#include <mach/omap4-common.h>
#include "omap4-sar-layout.h"
+#ifdef CONFIG_OMAP4_DPLL_CASCADING
+static struct device fake_reset_dev;
+#endif
+
static int omap_reboot_notifier_call(struct notifier_block *this,
unsigned long code, void *cmd)
{
void __iomem *sar_base;
char *reason = "normal";
+#ifdef CONFIG_OMAP4_DPLL_CASCADING
+ pr_info("%s: exit DPLL cascading\n", __func__);
+ omap4_dpll_cascading_blocker_hold(&fake_reset_dev);
+#endif
+
sar_base = omap4_get_sar_ram_base();
if (!sar_base)