]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARM: MCPM: remove residency argument from mcpm_cpu_suspend()
authorNicolas Pitre <nicolas.pitre@linaro.org>
Tue, 28 Apr 2015 19:51:19 +0000 (15:51 -0400)
committerNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 6 May 2015 15:47:10 +0000 (11:47 -0400)
This is currently unused.

If a suspend must be limited to CPU level only by preventing the last man
from triggering a cluster level suspend then this should be determined
according to many other criteria the MCPM layer is currently not aware of.
It is unlikely that mcpm_cpu_suspend() would be the proper conduit for
that information anyway.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Dave Martin <Dave.Martin@arm.com>
arch/arm/common/mcpm_entry.c
arch/arm/include/asm/mcpm.h
arch/arm/mach-exynos/suspend.c
drivers/cpuidle/cpuidle-big_little.c

index 492467587c58ed7222b4fbd7e51dbe1754a8565a..a923524d1040734d1f5b94b4a6e2f5d59cab99d1 100644 (file)
@@ -321,7 +321,7 @@ int mcpm_wait_for_cpu_powerdown(unsigned int cpu, unsigned int cluster)
        return ret;
 }
 
-void mcpm_cpu_suspend(u64 expected_residency)
+void mcpm_cpu_suspend(void)
 {
        if (WARN_ON_ONCE(!platform_ops))
                return;
index 6a40d5f8db601f5026bf6ef476fff75f8f41d3c6..acd4983d9b1f1a0783a0e9d03af5ef2fbdd8140d 100644 (file)
@@ -137,17 +137,12 @@ int mcpm_wait_for_cpu_powerdown(unsigned int cpu, unsigned int cluster);
 /**
  * mcpm_cpu_suspend - bring the calling CPU in a suspended state
  *
- * @expected_residency: duration in microseconds the CPU is expected
- *                     to remain suspended, or 0 if unknown/infinity.
- *
- * The calling CPU is suspended.  The expected residency argument is used
- * as a hint by the platform specific backend to implement the appropriate
- * sleep state level according to the knowledge it has on wake-up latency
- * for the given hardware.
+ * The calling CPU is suspended.  This is similar to mcpm_cpu_power_down()
+ * except for possible extra platform specific configuration steps to allow
+ * an asynchronous wake-up e.g. with a pending interrupt.
  *
  * If this CPU is found to be the "last man standing" in the cluster
- * then the cluster may be prepared for power-down too, if the expected
- * residency makes it worthwhile.
+ * then the cluster may be prepared for power-down too.
  *
  * This must be called with interrupts disabled.
  *
@@ -157,7 +152,7 @@ int mcpm_wait_for_cpu_powerdown(unsigned int cpu, unsigned int cluster);
  * This will return if mcpm_platform_register() has not been called
  * previously in which case the caller should take appropriate action.
  */
-void mcpm_cpu_suspend(u64 expected_residency);
+void mcpm_cpu_suspend(void);
 
 /**
  * mcpm_cpu_powered_up - housekeeping workafter a CPU has been powered up
index 3e6aea7f83af199d7c624372fb96549430504cc2..372bd0b099c1f4976b6cdf951d7175a8f6821f35 100644 (file)
@@ -311,13 +311,7 @@ static int exynos5420_cpu_suspend(unsigned long arg)
 
        if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM)) {
                mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume);
-
-               /*
-                * Residency value passed to mcpm_cpu_suspend back-end
-                * has to be given clear semantics. Set to 0 as a
-                * temporary value.
-                */
-               mcpm_cpu_suspend(0);
+               mcpm_cpu_suspend();
        }
 
        pr_info("Failed to suspend the system\n");
index 40c34faffe594951c7e6aea92f730fbfd201c71f..db2ede565f1aab2228d818d38ee41a8a358a3fc8 100644 (file)
@@ -108,13 +108,7 @@ static int notrace bl_powerdown_finisher(unsigned long arg)
        unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
 
        mcpm_set_entry_vector(cpu, cluster, cpu_resume);
-
-       /*
-        * Residency value passed to mcpm_cpu_suspend back-end
-        * has to be given clear semantics. Set to 0 as a
-        * temporary value.
-        */
-       mcpm_cpu_suspend(0);
+       mcpm_cpu_suspend();
 
        /* return value != 0 means failure */
        return 1;