diff options
author | Volodymyr Mieshkov <volodymyr.mieshkov@ti.com> | 2012-11-05 15:00:09 +0200 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 12:59:18 +0200 |
commit | 84d866fb997bac4b7d620720f41834d658691ffe (patch) | |
tree | 77d6c36382e09ba62aa3460caeadc316a97dd0c5 /arch/arm/mach-omap2 | |
parent | 7996b047ffef4e65888f8a80b08d7a3c45792e1c (diff) | |
download | kernel_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.c | 9 |
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) |