From 6dcfda3c0f4a838b93bfbe605a5e2a09a2ca882c Mon Sep 17 00:00:00 2001 From: Park Bumgyu Date: Mon, 26 Feb 2018 16:13:32 +0900 Subject: [PATCH] HACK: handle big reset control In prior chips, only big cluster supports CPD(Cluster Power Down), therefore, big_reset_control() is called in cluster_enable/disable function. It should be changed to consider cluster. Change-Id: I75a50df68a44aceabb41b06fd9d66cb65aaf7de2 Signed-off-by: Park Bumgyu --- drivers/soc/samsung/exynos-cpupm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/soc/samsung/exynos-cpupm.c b/drivers/soc/samsung/exynos-cpupm.c index c6d9195f7319..eae11126dbf0 100644 --- a/drivers/soc/samsung/exynos-cpupm.c +++ b/drivers/soc/samsung/exynos-cpupm.c @@ -260,6 +260,12 @@ static void __init idle_ip_init(void) /****************************************************************************** * CAL interfaces * ******************************************************************************/ +#ifdef CONFIG_EXYNOS_REBOOT +extern void big_reset_control(int en); +#else +static inline void big_reset_control(int en) { } +#endif + static void cpu_enable(unsigned int cpu) { cal_cpu_enable(cpu); @@ -273,10 +279,12 @@ static void cpu_disable(unsigned int cpu) static void cluster_enable(unsigned int cluster_id) { cal_cluster_enable(cluster_id); + big_reset_control(1); } static void cluster_disable(unsigned int cluster_id) { + big_reset_control(0); cal_cluster_disable(cluster_id); } -- 2.20.1