On 3/22/21 9:18 AM, Daniel Lezcano wrote:
On 22/03/2021 05:47, Samuel Holland wrote:
quoted
In preparation for adding CPU idle states, hook up the sun4i timer.
Having a non-c3stop clockevent source available is necessary for all
CPUs to simultaneously enter a local-timer-stop idle state.
Why simultaneously ?
Because the CPU providing (the hrtimer providing) the broadcast timer
cannot enter an idle state which would stop that timer. So in my case,
with 4 CPUs, I was seeing at most 3 CPUs enter idle at any given time.
This prevented any cluster-level idle states from doing anything. After
applying this series, I was able to observe the whole cluster powering
down when appropriate.
Regards,
Samuel
quoted
Changes from v1:
- Removed H616 changes (depends on an unmerged patch set)
- Reworded the patch 4-5 commit messages for clarity
- Added Acked-by tags
Samuel Holland (5):
dt-bindings: timer: Simplify conditional expressions
dt-bindings: timer: Add compatibles for sun50i timers
arm64: dts: allwinner: a64: Sort watchdog node
arm64: dts: allwinner: Add sun4i MMIO timer nodes
arm64: sunxi: Build the sun4i timer driver
.../timer/allwinner,sun4i-a10-timer.yaml | 42 +++++++++----------
arch/arm64/Kconfig.platforms | 1 +
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 25 +++++++----
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 9 ++++
4 files changed, 46 insertions(+), 31 deletions(-)