]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ARM: dts: rockchip: Mark that the rk3288 timer might stop in suspend
authorDouglas Anderson <dianders@chromium.org>
Tue, 21 May 2019 23:49:33 +0000 (16:49 -0700)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Aug 2019 09:18:49 +0000 (11:18 +0200)
commit80e36c7bd657868bb59d010539ea0a576ae98541
tree5150d4da0dde48a0e97074ae699eb0ee35210740
parent9f72dec1a4b6d305e5ffc6710788c5b2aaa61f91
ARM: dts: rockchip: Mark that the rk3288 timer might stop in suspend

BugLink: https://bugs.launchpad.net/bugs/1839376
[ Upstream commit 8ef1ba39a9fa53d2205e633bc9b21840a275908e ]

This is similar to commit e6186820a745 ("arm64: dts: rockchip: Arch
counter doesn't tick in system suspend").  Specifically on the rk3288
it can be seen that the timer stops ticking in suspend if we end up
running through the "osc_disable" path in rk3288_slp_mode_set().  In
that path the 24 MHz clock will turn off and the timer stops.

To test this, I ran this on a Chrome OS filesystem:
  before=$(date); \
  suspend_stress_test -c1 --suspend_min=30 --suspend_max=31; \
  echo ${before}; date

...and I found that unless I plug in a device that requests USB wakeup
to be active that the two calls to "date" would show that fewer than
30 seconds passed.

NOTE: deep suspend (where the 24 MHz clock gets disabled) isn't
supported yet on upstream Linux so this was tested on a downstream
kernel.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
arch/arm/boot/dts/rk3288.dtsi