ARM: ux500: Fix regression while init PM domains
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 6 Oct 2017 04:20:25 +0000 (06:20 +0200)
committerArnd Bergmann <arnd@arndb.de>
Thu, 19 Oct 2017 15:46:36 +0000 (17:46 +0200)
commit72ecd793865f91c3cdeb06884f230f38f434c67c
treed744ddc59d5df574501bb40ae6101398c13347d9
parent8633e4f2e94a4d12cfb413fedfe4c072a6b99a79
ARM: ux500: Fix regression while init PM domains

The commit afece3ab9a36 ("PM / Domains: Add time accounting to various
genpd states") causes a boot regression for ux500.

The problem occurs when the ux500 machine code calls pm_genpd_init(), which
since the above change triggers a call to ktime_get(). More precisely,
because ux500 initializes PM domains in the init_IRQ() phase of the boot,
timekeeping has not yet been initialized.

Fix the problem by moving the initialization of the PM domains to after
timekeeping has been initialized.

Fixes: afece3ab9a36 ("PM / Domains: Add time accounting to various genpd..")
Cc: Thara Gopinath <thara.gopinath@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-ux500/pm.c