OSDN Git Service

ARM: EXYNOS: Simplify code in coupled CPU idle hot path
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 21 Mar 2018 09:46:39 +0000 (10:46 +0100)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 21 Mar 2018 17:51:39 +0000 (18:51 +0100)
exynos_enter_aftr() is called by coupled CPU idle code every time CPU
enters idle state, what can be considered as a hot path. Replace
of_machine_is_compatible() call with a simple SoC revision check.

of_machine_is_compatible() function performs a dozen of string comparisons
during the full device tree walk, while soc_is_exynos4412() is a simple
integer check on SoC revision variable.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/mach-exynos/pm.c

index a1055a2..a822c50 100644 (file)
@@ -163,7 +163,7 @@ void exynos_enter_aftr(void)
 
        exynos_pm_central_suspend();
 
-       if (of_machine_is_compatible("samsung,exynos4412")) {
+       if (soc_is_exynos4412()) {
                /* Setting SEQ_OPTION register */
                pmu_raw_writel(S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0,
                               S5P_CENTRAL_SEQ_OPTION);