clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend
authorBrian Norris <briannorris@chromium.org>
Tue, 4 Apr 2017 19:32:05 +0000 (19:32 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Apr 2017 10:41:16 +0000 (12:41 +0200)
commit26cbe162df3d0282e5108711663b8dcdafb1ad33
treec8dd2fc66bb25fc646f349c6cae47b1b18829e28
parentd2f1000c3ae3ce285d99dae444f85baa53c1dfe6
clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend

[ Upstream commit d8ec7595a013237f82d965dcf981571aeb41855b ]

The ARM specifies that the system counter "must be implemented in an
always-on power domain," and so we try to use the counter as a source of
timekeeping across suspend/resume. Unfortunately, some SoCs (e.g.,
Rockchip's RK3399) do not keep the counter ticking properly when
switched from their high-power clock to the lower-power clock used in
system suspend. Support this quirk by adding a new device tree property.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/arm/arch_timer.txt
drivers/clocksource/arm_arch_timer.c